我读过很多关于SQL注入的文章。但它不适用于以下代码:

$inputform= $_GET["password"];
$query = "INSERT INTO user(password) VALUES ('".mysql_real_escape_string($inputform)."')";

例如,我使用这个例子:O'Conner。当我提交它并在表中查找时,存在O'Connor而不是O\'Conner
谢谢

最佳答案

引号被转义,这样MySQL就不会将其解释为字符串分隔符。反斜杠不会存储在数据库中,也不应该存储在数据库中。你看到的是正确的、预期的和有记录的行为。
最好的解决方案是使用PDO和参数化查询。

关于php - 为什么我的mysql_real_escape_string不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3467344/

10-11 07:04