使用GET方法转义MYSQL注入

时间:2018-08-13 15:34:26

标签: php mysql pdo

我通过串联分配($_GET)在PHP中通过.=生成mysql查询。 看看:

$sql='SELECT * FROM table WHERE ';
$sql.='ID='.$_GET['id'].'';
$query=$PDO->prepare($sql);

如何防止mysql注入? 我将绑定值用于直接查询,但是在这种情况下,我不知道如何编写代码以确保安全。 请注意,我使用的是PHP 7,而我无法使用mysql_real_escape_string();,因为它在PHP7中不可用。

1 个答案:

答案 0 :(得分:1)

您可以使用以下内容:

<?php
$sql = $PDO->prepare("SELECT * FROM table WHERE ID=?");
if ($sql->execute(array($_GET['id']))) {
  while ($row = $sql->fetch()) {
    print_r($row);
  }
}
?>