我使用 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/

10-12 03:08