如果我们查找字段中带有单引号的记录,如下面这种:
查找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注入问题。
更多推荐