我在PostgreSQL查询中遇到语法错误。我正在使用YII1
开发的项目,出现错误
CDbCommand无法执行以下SQL语句:SQLSTATE [42601]: 语法错误:7错误:“ s”或附近的语法错误LINE 1:... OT NULL AND副标题,例如“%妇女和儿童的声音%”。
如上所述,我在单引号中使用like
运算符,并且在字符串中还有另一个单引号(Children's
)。所以PostgreSQL给我抛出一个错误。请给我一个解决方案以转义字符串。
答案 0 :(得分:1)
您可以使用另一个单引号(即''
而不是'
来转义字符串中的单引号。请注意,这是两个'
字符,而不是单个{{ 1}}字符):
"
答案 1 :(得分:1)
您应该使用format
函数来构造SQL语句,并使用模式的%L
占位符。
答案 2 :(得分:0)
我通过使用PHP将单引号替换为双引号来解决了这个问题。这是代码
有一个变量{strong> $ var ,其值为Women and Children's Voices
。我使用str_replace()函数替换了该单引号。
$var = str_replace("'", "''", $var);