PHP,如何从URL保护GET变量

时间:2014-03-22 12:07:02

标签: php mysql

这是URL:

http://ex.com/members.php?id=5320

这是代码:

mysqli_query("SELECT * from members where id='$_GET[id]'");

哪种方法安全?

1 个答案:

答案 0 :(得分:2)

使用prepared statements并在使用MySQLi时绑定变量

$stmt = $mysqli->prepare("SELECT * from members where id=?");
$stmt->bind_param('i', $_GET['id']);
$stmt->execute();

您可能还希望验证$_GET['id']是否为整数,如果不是,则返回错误消息,而不是让db查询的所有开销都不返回任何内容。

阅读this answer上一个问题,了解为什么你应采用这种方法