在布尔值上调用成员函数fetch_assoc()

时间:2016-01-08 10:14:05

标签: php mysqli login

我知道还有其他人收到此错误消息。但是我没有需要的答案。 它一直给我错误..我真的需要解决这个问题。 这是我的代码:

<?php

if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['submit']))
{
$DBConnect = mysqli_connect("localhost", "root", "");
$email = mysqli_real_escape_string($DBConnect, $_POST['email']);
$wachtwoord = mysqli_real_escape_string($DBConnect, $_POST['wachtwoord']);

if(!empty($email) && !empty($wachtwoord))
{
    $selectGebruiker = mysqli_query($DBConnect, "SELECT lidID, wachtwoord FROM geregistreerden WHERE email='$email'");

    while ($row = $selectGebruiker->fetch_assoc())
    {
        $email = $row['email'];
        $wachtwoordHash = $row['wachtwoord'];
    }

    $checkGebruiker = mysqli_num_rows($selectGebruiker);

    $wachtwoordCheck = password_verify ( $wachtwoord , $wachtwoordHash );

    if( $checkGebruiker && $wachtwoordCheck )
    {
        $_SESSION['email'] = $email;
        echo "gelukt!!";
    }
    else
    {
        $loginError = 'Email / wachtwoord is onjuist';
        echo "Onjuist";
    }

}
else
{
    $loginError = 'Email / wachtwoord is onjuist.';
}
}
?>

1 个答案:

答案 0 :(得分:3)

使用 mysqli_query 检查您正在运行的查询。

成功查询时会返回结果对象,失败时返回布尔值 FALSE ,这就是你收到错误的原因。

您可以在文档中找到更多信息:http://php.net/manual/en/mysqli.query.php