【发布时间】:2013-11-10 00:43:34
【问题描述】:
我正在尝试清理我的 $_GET 输入,但由于某种原因,mysql 不会从数据库中检索数据。如果我这样做:
$user = mysqli_real_escape_string($connection, $_GET['id']);
//execute query to call user info
$query = "SELECT user
FROM company
WHERE user={$_GET['id']} ";
这将起作用并显示结果;但是,如果我这样做:
$user = mysqli_real_escape_string($connection, $_GET['id']);
//execute query to call user info
$query = "SELECT user
FROM company
WHERE user= '$user' ";
我没有收到数据库错误,但没有任何显示。
我不是在消毒吗?这里发生了什么?请帮忙!
【问题讨论】:
-
您遇到的错误是什么?
-
调试!
var_dump所有相关值!阅读错误信息!告诉我们两个! -
在第二个查询中,您在 $user 周围使用了一些额外的撇号 (')。他们在 {$_GET['id']} 附近不见了。
-
在第二个示例中,您是否将 $_GET['id'] 分配给变量 $user?
-
var_dump 给我:string(72) "SELECT user FROM user WHERE user='\"user\"' "
标签: php mysql sanitization