我使用 php mysql 将 AES 加密数据存储在数据库中。我使用 AES_ENCRYPT 输入的。问题是数据来自iphone,成员的“名字”以大写的第一个字母出现并存储为Upper。例如'Pooja'
我想知道当我搜索以下内容时,它不会给我任何结果。
SELECT *
FROM member
WHERE LOWER(AES_DECRYPT(fname,'xxxxxxxxxxxxxxxxx')) LIKE'%$pooja%'
当我不使用 LOWER 时,它给了我“Pooja”。
有人可以在这里纠正我吗??
最佳答案
您确定要在开头使用 %$
吗?
正如其他人所说,LOWER
应该忽略大小写,所以试试这个:
SELECT * FROM member WHERE AES_DECRYPT(fname,'xxxxxxxxxxxxxxxxx') LIKE 'pooja%';
%
匹配零个或多个任意字符,因此此查询应匹配以下所有内容pooja
poojaaaa
pooja foo pooja bar
但不是
pooj
pooj a
apooja
pooja
关于带有 AES_DECRYPT 的 PHP mysql LOWER 函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7865466/