php mysql特殊字符转义

php mysql特殊字符转义,php,mysql,Php,Mysql,在尝试执行查询之前,如何处理php变量? e、 g.我试图插入带有“,”的文本,但查询无法执行? 使用PDO类解决此问题的最佳方法是什么 非常感谢也许PDO::quote就是你想要的:看看和。这里发生的事情是,“是一个特殊字符,这意味着MySQL将把它作为语法的一部分,而不是像你想的那样把它当作字符串来对待。addslashes或MySQL\u real\u escape\u string将添加在所有单引号和双引号(以及其他引号)前面加一个反斜杠,使它们不属于MySQL语法的一部分。可以用来转义

在尝试执行查询之前,如何处理php变量? e、 g.我试图插入带有“,”的文本,但查询无法执行? 使用PDO类解决此问题的最佳方法是什么


非常感谢

也许PDO::quote就是你想要的:

看看和。这里发生的事情是,
是一个特殊字符,这意味着MySQL将把它作为语法的一部分,而不是像你想的那样把它当作字符串来对待。
addslashes
MySQL\u real\u escape\u string
将添加在所有单引号和双引号(以及其他引号)前面加一个反斜杠,使它们不属于MySQL语法的一部分。

可以用来转义传入字符串,以便转义“and”

您应该绑定PHP变量,而不是转义它们

$variable = "''''''''''''''''''";
$sth = $dbh->prepare('SELECT * FROM table WHERE column = ?');
$sth->execute(array($variable));

你应该进一步完善你的问题。插入带有“,”的文本是什么意思。这意味着您要将所有值插入到1个coulmns中,以分隔,或者其他任何形式。逗号在这里没有任何特殊意义。我想插入双引号和单引号字符。在我的情况下,这是一个生命救世主