如何转义在SQL查询中使用的撇号字符?

问题描述:

我试图在Mysql查询浏览器中执行一个sql查询如何转义在SQL查询中使用的撇号字符?

select * from example where'name like'canniba'ls';

其返回的sql语法错误,请检查手册。

感谢

您可以使用QUOTE函数。

+1

OP是否已经不需要知道如何逃离撇号,以构建QUOTE()的字符串参数?另外,你如何建议OP使用它? “canniba \'ls' QUOTE('canniba \'ls')',毕竟。 – pilcrow 2011-12-19 15:11:16

+0

thanq guyz .... :) – 2011-12-20 05:14:28

select * from example where name like 'canniba''ls'; 

会做到这一点。

+0

双撇号的事情是不工作的MySQL查询浏览器.. – 2011-12-19 14:06:20

转义字符是一个反斜杠\,让您的查询将是:

select * from example where name like 'canniba\'ls'; 

如果您的查询参数没有硬编码和来自一个变量,一定要进行参数化查询以避免SQL注入漏洞。

select * from example where name like 'canniba\'ls' ; 

将在命令行做到这一点。从应用程序使用它时,请确保您使用理智的转义功能。