当设置密码条件为空时,将返回空集合。
当设置密码条件为空时,将返回空集合。
我在mysql中是个新手
我已经向我的表customer插入了值
INSERT INTO customer(f_name, l_name, mobilehp, username, password)
VALUES
('Ahmad', 'Ali', '013-5404997', 'A_Ali', SHA('something'));
然后我插入了一个条件,
select customer_id, f_name FROM customer WHERE password=SHA('something');
然而查询返回了一个空集,这很奇怪,因为它应该显示customer_id和f_name。所以任何帮助将不胜感激。谢谢
问题的出现原因是在使用SHA1加密算法作为密码存储时,可能会导致返回空集。解决方法是使用更安全的密码哈希算法,如password_hash或其他加密算法。
在给定的代码示例中,查询语句使用SHA1加密的密码作为条件进行查询。然后,可以通过检查密码来验证用户的身份。
然而,需要注意的是,即使SHA1不应该被使用,这并不能解释为什么两个查询语句不起作用。
为了解决这个问题,可以参考以下链接中的评论和文档: