我一直在用我的代码得到这个错误,我正在使用MYSQLi,并且已经将$ db变量声明为一个全局变量,用于所有其他文件而没有任何问题 - 这让我感到困惑,因为我一直以这种方式完成我的应用程序,没有任何问题:
PHP Fatal error: Call to a member function fetch_assoc() on a non-object
然而,它在实际页面上输出没有任何问题,我已经检查了其他答案,似乎没有解决方案。
这是我的代码:
<?php $q = $db->query("SELECT * FROM users");
while($user = $q->fetch_assoc()){ ?>
<tr id="user-<?php echo $user['id']; ?>" class="user-row">
<td class="user-avatar"><img src="<?php echo $user['avatar']; ?>" draggable="false"></td>
<td class="user-username"><?php echo $user['username']; ?></td>
<td class="user-fullname"><?php echo $user['full_name']; ?></td>
<td class="user-email"><?php echo $user['email']; ?></td>
<td class="user-role"><?php $role_id = $user['role_id']; $q = $db->query("SELECT name FROM cg_staffRoles WHERE id = '$role_id'")->fetch_array(MYSQLI_ASSOC); echo $q['name']; ?></td>
<td class="user-userdelete"><button class="user-delete clear-btn" data-user-id="<?php echo $user['id']; ?>"><i class="lnr lnr-trash"></i></button></td>
</tr>
<?php } ?>
这是我的var_dump()
,我没有看到任何错误?
object(mysqli_result)#3 (5) {
["current_field"]=>
int(0)
["field_count"]=>
int(17)
["lengths"]=>
NULL
["num_rows"]=>
int(1)
["type"]=>
int(0)
}
答案 0 :(得分:0)
fetch_assoc()适用于mysqli。
在PDO中我们这样做:
$stmt = $db->query("SELECT * FROM users");
while($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
}