我通过串联分配($_GET
)在PHP中通过.=
生成mysql查询。
看看:
$sql='SELECT * FROM table WHERE ';
$sql.='ID='.$_GET['id'].'';
$query=$PDO->prepare($sql);
如何防止mysql注入?
我将绑定值用于直接查询,但是在这种情况下,我不知道如何编写代码以确保安全。
请注意,我使用的是PHP 7,而我无法使用mysql_real_escape_string();
,因为它在PHP7中不可用。
答案 0 :(得分:1)
您可以使用以下内容:
<?php
$sql = $PDO->prepare("SELECT * FROM table WHERE ID=?");
if ($sql->execute(array($_GET['id']))) {
while ($row = $sql->fetch()) {
print_r($row);
}
}
?>