在单引号中使用“赞”时的Postgres语法错误

时间:2018-11-13 06:02:15

标签: sql postgresql yii syntax-error

我在PostgreSQL查询中遇到语法错误。我正在使用YII1开发的项目,出现错误

  

CDbCommand无法执行以下SQL语句:SQLSTATE [42601]:   语法错误:7错误:“ s”或附近的语法错误LINE 1:... OT NULL   AND副标题,例如“%妇女和儿童的声音%”。

如上所述,我在单引号中使用like运算符,并且在字符串中还有另一个单引号(Children's)。所以PostgreSQL给我抛出一个错误。请给我一个解决方案以转义字符串。

3 个答案:

答案 0 :(得分:1)

您可以使用另一个单引号(即''而不是'来转义字符串中的单引号。请注意,这是两个'字符,而不是单个{{ 1}}字符):

"

答案 1 :(得分:1)

您应该使用format函数来构造SQL语句,并使用模式的%L占位符。

答案 2 :(得分:0)

我通过使用PHP将单引号替换为双引号来解决了这个问题。这是代码 有一个变量{strong> $ var ,其值为Women and Children's Voices。我使用str_replace()函数替换了该单引号。 $var = str_replace("'", "''", $var);