如何逃避单身& MySQL中的双引号选择?

时间:2015-10-02 03:57:12

标签: mysql sql

select name from movies where id = 1;给了我

name
----------
How the 'A' Stole Christmas

我如何选择才能获得

name
----------
How the \'A\' Stole Christmas

我可以使用replace(title,'\'','\\\'')变得丑陋,因为我需要为单身&双引号,很想知道是否有更清洁的方法

1 个答案:

答案 0 :(得分:2)

使用转义字符进行挣扎表明,当数据流经不同系统时,您可能会不必要地手动转换字符串。我要问的问题是,是否有必要根据您的要求转义字符串。

在构造和执行查询时,您应该使用绑定变量,这样就无需引用字符串来构建Sql查询,并最大限度地降低了Sql注入安全问题的风险。

请参阅http://php.net/manual/en/mysqli-stmt.bind-param.php

一旦你有一个变量或PHP结构的Sql结果,通常最好找到函数/库,如https://coderwall.com/p/p2kumg/json_encode-vs-serialize-with-php-arrays中描述的JSON函数

当然还有D4V1D提到的http://www.w3schools.com/php/func_string_addslashes.asp作为评论。

编辑... 似乎还有一个Mysql QUOTE()函数可以满足您的要求。

请参阅http://www.w3resource.com/mysql/string-functions/mysql-quote-function.php