MySQL LIKE查询始终返回0

时间:2017-11-07 09:47:51

标签: php mysql mysqli mamp mamp-pro

我尝试使用LIKE查询搜索用户名,但查询始终返回0并且用户名确实存在!我在MAMP PRO服务器上使用MYSQL终端,在这里我尝试了:

SELECT * FROM userlogin WHERE username LIKE '٪w٪';
SELECT * FROM userlogin WHERE username LIKE '٪w';
SELECT * FROM userlogin WHERE username LIKE 'w٪';
SELECT * FROM userlogin WHERE username LIKE '٪?٪';

总是结果是相同的0可能是什么问题!?

3 个答案:

答案 0 :(得分:1)

您正在使用阿拉伯语编码中的百分比字符,复制后续字符并且一切正常(或者在基于英语的键盘上切换键盘然后键入):

%

答案 1 :(得分:0)

我怀疑它返回0 - 我怀疑你的意思是查询没有返回任何行。此外,您没有提供您希望查询返回的记录的任何详细信息。

进一步猜测,我认为前两个查询旨在返回用户名以zW开始的记录 - 在这种情况下,您应该在文字中指定一个通配符,例如

SELECT * FROM userlogin WHERE username LIKE '٪w%';

来自the manual

  

使用LIKE,您可以在模式中使用以下两个通配符:

     

%匹配任意数量的字符,即使是零个字符。

     

_只匹配一个字符。

答案 2 :(得分:0)

嗨Walid Naceri您使用了错误的特殊字符%w%喜欢这个