在非对象上调用成员函数fetch_assoc()

时间:2015-05-21 03:42:07

标签: php mysql mysqli

所以即时通讯有点新的PHP,当我收到以下错误时我试图这样做: 致命错误:在第44行的... / index.php中的非对象上调用成员函数fetch_assoc()

我的代码:

if ($_SESSION['uid']){
    $uid = $_SESSION['uid'];
    $result = $db->query("SELECT id,username FROM users WHERE id= '".$uid."'");
    if ($result->num_rows){
        session_destroy();
        echo "please <a href=\"login.php\">Login<a> to your account, or <a href=\"register.php\">Register<a> a new account! \n";
    }else{
        $row = $result->fetch_assoc();
        echo "Welcome back, <a href=\"index.php?act=profile&id=" .$row['id']."\">".$row['username']."</a> !\n";
    }
}
else {
    echo "please <a href=\"login.php\">Login<a> to your account, or <a href=\"register.php\">Register<a> a new account! \n";
}

这是我的第44行:

$row = $result->fetch_assoc();

我不明白我做错了什么!

1 个答案:

答案 0 :(得分:0)

您的逻辑是倒退的:当没有任何行(fetch_assoc为0)时,请致电$result->num_rows。你应该做if ($result->num_rows === 0){