pri*_*tel 1 mysql codeigniter sql-like
我使用name编写了过滤数据查询,并编写了以下查询
SELECT * FROM (`abc`) WHERE (name LIKE "%test\'!&@#$\%-(3)\_er%")
Run Code Online (Sandbox Code Playgroud)
它应该返回名称以文本" test " 开头的记录,但如果我修改查询,则不会返回
SELECT * FROM (`abc`) WHERE (name LIKE "%test%\'!&@#$\%-(3)\_er%")
Run Code Online (Sandbox Code Playgroud)
然后它会给出结果.为什么不通过第一次查询给出结果?有没有其他方法可以做到这一点?
这%是查询中的通配符.
所以%test意味着最终的一切test.
并且test%意味着开始的一切test.
并且%test%意味着一切都test在里面.
Simpy将您的查询更改为
SELECT * FROM (ABC) WHERE (name LIKE "test%")