php mysql特殊字符转义

时间:2011-04-01 11:36:14

标签: php mysql

如何在尝试执行查询之前处理php变量? 例如我试图用“,”插入文本但它的查询无法执行? 用PDO类解决这个问题的最佳方法是什么?

非常感谢

4 个答案:

答案 0 :(得分:5)

也许PDO :: quote就是你要找的:http://php.net/manual/en/pdo.quote.php

答案 1 :(得分:0)

同时查看addslashes()mysql_real_escape_string()。这里发生的是'是一个特殊字符,这意味着MySQL会将其视为语法的一部分,而不是将其视为您想要的字符串。 addslashesmysql_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));