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

标签 php mysql mysqli

所以我对 php 有点陌生,当我遇到以下错误时,我正在尝试这样做: fatal error :在第 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();

我不明白我做错了什么!

最佳答案

您的逻辑是向后的:当没有任何行($result->num_rows 为 0)时,您调用 fetch_assoc。您应该执行 if ($result->num_rows === 0){

关于php - 在非对象上调用成员函数 fetch_assoc(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30364175/

相关文章:

php - 不使用 mysqli 处理 MySQL 事务

php - 如何将 mysql 转换为 mysqli

php - 如何在mysql中填充数据

php - 包含多个信息的键的数组需要过滤为 id 名称等

mysql - 数据库、表和列的不同字符集和排序规则会导致性能问题吗?

mysql - 在 delphi 中将 ca.pem 文件的内容作为硬编码字符串提供给 SSL 连接

php - 为什么我不能使用 mysqli_query 从 mysql 数据库表中获取数据?

php - Magento:如果父类别为空,则显示来自子类别的产品

php - 用html阵营解析mysql到xml

java - 如何修复错误无法添加或更新子行 : a foreign key constraint fails