select name from movies where id = 1;
给了我
name
----------
How the 'A' Stole Christmas
我如何选择才能获得
name
----------
How the \'A\' Stole Christmas
我可以使用replace(title,'\'','\\\'')
变得丑陋,因为我需要为单身&双引号,很想知道是否有更清洁的方法
答案 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