在 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
数据库中检索用户的 id
。 email
在数据库中是 而不是 哈希,这就是为什么我发现我需要在语句中 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';
我的 Laravel PHP 应用程序中有此查询,但是,我发现此问题主要与 MySQL 有关,而不是 Laravel 或 PHP.这是查询:
SELECT id FROM users WHERE MD5('email')='9e1af6d8046e217984ea76bf489a64eb' AND password_md5='f3617237ac21562663a40608a85ea38d';
我只得到了电子邮件的 md5 哈希值和密码(也是 md5 哈希值),并且需要从 MySQL
数据库中检索用户的 id
。 email
在数据库中是 而不是 哈希,这就是为什么我发现我需要在语句中 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';