0

我想在上线之前检查一下自己。我在互联网上阅读了很多不同的东西,但我想知道这是否会绝对保护我的 SQL 注入代码。如果没有,我需要添加或删除什么?

$idtoapprove = mysql_real_escape_string($_POST['idtoapprove']);

$getcity = $conn->prepare('SELECT city, state FROM needs WHERE ID=:idtoapprove');
$getcity->bindParam(':idtoapprove', $idtoapprove);
$getcity->execute();

$cityrow = $getcity->fetch();
$needcity = $cityrow['city'];
$needstate = $cityrow['state'];

echo "$needcity, $needstate";
4

1 回答 1

5

实际上,这里没有必要,mysql_real_escape_string这是完全错误的(它来自不同的、已弃用的数据库库)并且可能会损坏您的数据。(此外,无论如何它在这里都是无效的 -mysql_real_escape_string()用于转义字符串,它对整数无用。)

PDO 准备好的语句就足够了。

于 2013-09-20T16:02:08.520 回答