更改哈希函数时,PHP mysqli_num_rows会发生变化

时间:2014-10-08 20:57:38

标签: php function hash mysqli sha256

所以,我试图将哈希函数从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。

0 个答案:

没有答案