如果我们查找字段中带有单引号的记录,如下面这种:

 查找username为lisi's的记录,我们按照通常的查询SQL是这样的:

select * from user where username='lisi's';

 很明显,报错了,因为它单独把"lisi"当作一个字符串来进行匹配了,而不是"lisi's"这个字符串。

解决就是将单引号进行转义,在SQL中将单引号进行转义的字符也是一个单引号。

所以将"lisi's"改为"lisi''s",在原来的基础上添加一个单引号,对原单引号进行转义。注意,是两个单引号,而不是一个双引号。

现在的SQL语句如下:

select * from user where username='lisi''s';

使用转义字符还能避免SQL注入问题。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐