所以,我试图将哈希函数从md5更改为sha256。它在注册阶段工作正常,使用应用于密码的新哈希函数创建新用户。
虽然,当我尝试登录时,我遇到了错误。错误是我在代码中添加的内容,这里的一个大问题就是它发生的原因。
我有以下代码:
$sql = "SELECT * FROM username WHERE username='$u' AND activated='1' LIMIT 1";
$user_query = mysqli_query($db_conx, $sql);
// Now make sure that user exists in the table
$numrows = mysqli_num_rows($user_query);
if($numrows < 1){
echo "That user does not exist or is not yet activated, press back";
exit();
}
我这里没有改变任何东西,但是当我现在登录时,我没有到达我应该到达的页面,而是到达错误消息:“该用户不存在或尚未激活,按回“。我已经回显了变量$ numrows,它显示$ numrows等于零。我不知道为什么会发生这种情况,因为我只更改了哈希函数。
然而,当我在浏览器中按回来时,我会到达我应该首先到达的页面,变量$ numrows更改为1.
如果有人愿意向我解释这个,那将是非常好的,因为我不知道为什么$ numrows变量突然为零,而不是&gt;。
此致
修改的
在GolezTrol的帮助下,我得到$ numrows或$ user_query为false。现在,问题变成了为什么会发生这种情况。
EDIT2
经过进一步测试后,我可以说$ user_query不是false,而只是$ numrows。