mysql - 如何在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
这行代码有什么替代方法吗?
解决方案
我认为你需要使用:
select * from login where password = password('april');
所以,不要引用整个password
函数,只引用函数的参数。
推荐阅读
- autodesk-forge - 如何提高本地环境中的 Forge Viewer 性能
- java - 在 Jboss EAP 中遇到 IllegalArgumentException
- anylogic - 如何使用来自 pedSource 的吸引子使行人出现在 AreaNode
- json - Pyspark:从涉及数组列的 Json Schema 创建 Schema
- c++ - 最后一个字符行编辑
- php - 如何实现对单字段单列中以逗号分隔的多条记录的搜索查询?
- python - 如何从 Python 中的另一个项目导入模块?
- c++ - 缓冲区用不需要的数据填充 char 数组中的最后一个空格
- c# - ASP.NET Core 2.2 Web API 在 IIS 上托管后给出 404
- bash - 在linux上安装包时如何绕过用户确认