MySQL Escape 查询结果中的双引号
Posted
技术标签:
【中文标题】MySQL Escape 查询结果中的双引号【英文标题】:MySQL Escape double quotes in query result 【发布时间】:2011-06-30 22:44:21 【问题描述】:我有一个关于引号的连接问题。 在我的数据库中,我有单引号和双引号文本,然后我用 CONCAT 构建了一个 JSON 字符串,
CONCAT('"',a,'":"',b,'"')
假设我们有以下数据:
a b
Phrase Monica's mirror
Phrase Joe "Hammer" Smith
Phrase Oo-la-laaa
连接将是
"Phrase":"Monica's mirror"
"Phrase":"Joe "Hammer" Smith"
"Phrase":"Oo-la-laaa"
如您所见,'Joes "Hammer" Smith' 将创建一个无效的 json 字符串。
问题
SQL 中有没有办法转义引号(在 CONCAT 中)?所以我得到了这个结果:
"Phrase":"Monica's mirror"
"Phrase":"Joe \"Hammer\" Smith"
"Phrase":"Oo-la-laaa"
记住,这不是在php端,它需要在SQL查询中完成, 谢谢...
【问题讨论】:
【参考方案1】:你尝试过这样的事情吗?
CONCAT('"',REPLACE(a,'"','\\"'),'":"',REPLACE(b,'"','\\"'),'"')
【讨论】:
我在等待答案时发现了相同的功能 :) 您确认我走在正确的轨道上!谢谢。 现在对我来说还不算太晚,我看到我已经在一个查询中使用了该解决方案...我想是时候上床睡觉了:P 无论如何,谢谢!以上是关于MySQL Escape 查询结果中的双引号的主要内容,如果未能解决你的问题,请参考以下文章