GET ID在mysql中查找并显示信息

时间:2012-08-20 18:15:06

标签: php get get-request

我正在尝试使用GET id从mysql数据库获取信息。 我使用以下代码来检查id是什么。

            $qry    = "SELECT name,country FROM databasetable WHERE uid=$id";

我收到错误,这意味着找不到任何带有指定uid的条目。如果我将uid更改为仅数字,那么它可以查找它。示例:?id = 1000000000工作正常,?id = 1kKV0LEfMi。找不到请帮帮我

3 个答案:

答案 0 :(得分:1)

您需要在$ id周围添加引号以允许查询中的字符串

$qry= "SELECT name,country FROM databasetable WHERE uid='$id'";

顺便说一句。你为什么要做$id = htmlspecialchars($_GET['id']);

这应该是$id = mysql_escape_string($_GET['id']);

答案 1 :(得分:0)

 '$id'  <-- first put the variable in single quotes. good practice. 

其次,如果您不使用特殊字符,请将其取出,因为这可能是您的问题。尝试剥离html特殊字符,然后重试

答案 2 :(得分:0)

您需要将查询更改为围绕uid值使用单引号,如此

$qry = "SELECT name,country FROM databasetable WHERE uid='$id'";

话虽如此,您还需要考虑使用较新的MySQL连接支持(而不是mysql_ *函数),并且您需要学习如何转义数据以防止SQL注入。