首页 > 解决方案 > 如何在sql中使用密码()?

问题描述

我正在尝试验证用户登录我将输入密码与用户输入的密码匹配

我的插入查询:

insert into login (Emp_id, Emp_Fname, Emp_Lname, Username, Password) values (5, 'TestFName', 'TestLName', 'Test', password('april'));

它将密码存储为此值:

*72B46CDA233C759A88BEF81F59F66D78B26B2848
select * from login where password = '*72B46CDA233C759A88BEF81F59F66D78B26B2848';  -- this line shows me the result

select password('april'); -- this returns *72B46CDA233C759A88BEF81F59F66D78B26B2848

select * from login where password = 'password(april)'; -- this returns an empty set

这行代码有什么替代方法吗?

标签: mysqlsqlpasswordsverify

解决方案


我认为你需要使用:

select * from login where password = password('april');

所以,不要引用整个password函数,只引用函数的参数。


推荐阅读