如何在尝试执行查询之前处理php变量? 例如我试图用“,”插入文本但它的查询无法执行? 用PDO类解决这个问题的最佳方法是什么?
非常感谢答案 0 :(得分:5)
也许PDO :: quote就是你要找的:http://php.net/manual/en/pdo.quote.php
答案 1 :(得分:0)
同时查看addslashes()和mysql_real_escape_string()。这里发生的是'
是一个特殊字符,这意味着MySQL会将其视为语法的一部分,而不是将其视为您想要的字符串。 addslashes
或mysql_real_escape_string
会在所有单引号和双引号(以及其他引号)之前添加反斜杠\
,以使它们不属于MySQL语法。
答案 2 :(得分:0)
您可以使用mysql_real_escape_string($string)来转义传入的字符串,以便转义“和”。
答案 3 :(得分:0)
你应该绑定你的PHP变量,而不是逃避它们。
$variable = "''''''''''''''''''";
$sth = $dbh->prepare('SELECT * FROM table WHERE column = ?');
$sth->execute(array($variable));