PHP验证哈希密码

时间:2017-11-06 12:24:17

标签: php mysql prepared-statement

我的数据库中有一个用户表,其密码是用PASSWORD函数加密的。我想创建一个登录系统,我无法弄清楚如何。我知道我可以使用这样的东西

SELECT `username`,`password`
FROM `users`
WHERE `username` = $user 
AND `password` = PASSWORD($password)

但我想使用预准备语句,所以我的代码看起来像这样

$sql = "SELECT * FROM users WHERE username=? AND 
password=?";
//.....
$stmt = $mysqli->prepare($sql);
$stmt->bind_param("ss", $u,$p);

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您可以在SQL查询中使用PASSWORD函数,例如:

$sql = "SELECT * FROM users WHERE username=? AND 
password=PASSWORD(?)";
//.....
$stmt = $mysqli->prepare($sql);
$stmt->bind_param("ss", $u,$p);