错误消息:
SQL错误:SQL语法中有错误;检查与您的MySQL服务器版本对应的手册,以便在'AND domain ='ard.qc'和'snapshot_id = 2010 AND locale ='en_US''第1行附近使用正确的语法
SQL查询:
SELECT
entity_id,
content_id
FROM collateral_cms_mapping
WHERE entity_id IN ({$entity_ids})
AND domain = '{$this->getSite()->getInternalId()}'
AND snapshot_id = {$this->getSnapshotDao()->getCurrentSnapshot()}
AND locale = '{$locale}'
替换值后的实际SQL和字符串连接:
SELECT
entity_id,
content_id
FROM
collateral_cms_mapping
WHERE
entity_id
IN
()
AND
domain = 'ard.qc'
AND
snapshot_id = 2009
AND
locale = 'en_US'
有什么建议吗?
答案 0 :(得分:4)
$entity_ids
的价值是多少?可能它是空的,因此您的查询包含无效的IN ()
。
答案 1 :(得分:1)
您不必连接字符串。
看起来准备好的查询在IN ({$entity_ids})
。
回显查询字符串以检查IN
语句。
答案 2 :(得分:0)
绝对查看IN
语句。虽然我不熟悉MySQL,但我不相信DB2或Oracle中允许使用空IN ()
子句(尽管我不会发誓)。