在 SELECT 查询中使用 MD5() 没有 return 结果

Using MD5() in SELECT Query does not return results

我的 Laravel PHP 应用程序中有此查询,但是,我发现此问题主要与 MySQL 有关,而不是 Laravel 或 PHP.这是查询:

SELECT id FROM users WHERE MD5('email')='9e1af6d8046e217984ea76bf489a64eb' AND password_md5='f3617237ac21562663a40608a85ea38d';

我只得到了电子邮件的 md5 哈希值和密码(也是 md5 哈希值),并且需要从 MySQL 数据库中检索用户的 idemail 在数据库中是 而不是 哈希,这就是为什么我发现我需要在语句中 MD5() 它。但是,上面的查询没有 return 任何结果,而它应该 return 一个结果。 是的,我确保哈希输入正确

我在尝试解决此问题时发现 SELECT MD5('users.email') 与实际电子邮件地址 return 的 MD5 散列不同。我想知道我是否滥用了 MD5() 函数,或者 MySQL 是否向其中添加了任何内容,因此哈希值与计算我的 PHP.

的哈希值不同

如果它是列标识符,请删除 email 周围的引号。您只需要为字符串文字使用引号。

 SELECT id FROM users WHERE MD5(email)='9e1af6d8046e217984ea76bf489a64eb' AND password_md5='f3617237ac21562663a40608a85ea38d';