这是URL:
http://ex.com/members.php?id=5320
这是代码:
mysqli_query("SELECT * from members where id='$_GET[id]'");
哪种方法安全?
答案 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上一个问题,了解为什么你应采用这种方法