我想在上线之前检查自己。我在互联网上阅读了很多不同的东西,但我想知道这是否绝对保护我的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";
答案 0 :(得分:5)
此处不需要mysql_real_escape_string
,实际上,它是完全错误的(它来自不同的,已弃用的数据库库)并且可能会损坏您的数据。 (此外,无论如何它都是无效的 - mysql_real_escape_string()
用于转义字符串,对整数来说没用。)
PDO准备好的陈述就足够了。