MySQL用LIKE特殊字符搜索
SQL的LIKE查询语句中,有一些特殊的字符,需要转换后才能搜索到结果:
- ':用于包裹搜索条件,需转为\';
- %:用于代替任意数目的任意字符,需转换为\%;
- _:用于代替一个任意字符,需转换为\_;
- \:转义符号,需转换为\\\\。
以下是一些匹配的举例。
SELECT*FROM`table`WHERE`title`LIKE'a\'b%'; --搜索a'b... SELECT*FROM`table`WHERE`title`LIKE'a\%b%'; --搜索a%b... SELECT*FROM`table`WHERE`title`LIKE'a\_b%'; --搜索a_b... SELECT*FROM`table`WHERE`title`LIKE'a\\\\%';--搜索a\b...
在PHP代码中,可以用这样的方法批量替换:
functionfilterLike($keyword){
$search=array('\'','%','_','\\');
$replace=array('\\\'','\\%','\\_','\\\\\\\\');
returnstr_replace($search,$replace,$keyword);
}
参考资料:
- 关于mysql中特殊字符的使用注意事项
- MySQL5.7ReferenceManual:StringLiterals
热门推荐
3 祝福语简短的微信
10 幼儿祝福语大全简短贺卡
11 感谢教官文案祝福语简短
12 鼠年同事祝福语简短创意
13 元旦祝福语 简短独特群发
14 妈咪跟我生日祝福语简短
15 给儿子新婚祝福语简短
16 伴娘祝福语长文案简短
17 恭喜高考完祝福语简短
18 生日祝福语送老公简短