Php “致命错误:对中的非对象调用成员函数fetch_array()”

Php “致命错误:对中的非对象调用成员函数fetch_array()”,php,sql,database,Php,Sql,Database,以下代码正在获取标题中显示的错误消息: while($row = $result->fetch_array(MYSQLI_ASSOC)) { $rep_id = $row['Report_ID']; $rep_title = $row['Report_Title']; $rep_keywords = $row['Report_Keywords']; $rep_cat = $row['Report_Category_Subs']; $rep_status =

以下代码正在获取标题中显示的错误消息:

while($row = $result->fetch_array(MYSQLI_ASSOC)) {
$rep_id       = $row['Report_ID'];
$rep_title    = $row['Report_Title'];
$rep_keywords = $row['Report_Keywords'];
$rep_cat      = $row['Report_Category_Subs'];
$rep_status   = $row['Report_Private'];
你知道为什么会这样吗

谢谢

编辑:下面是代码

if ($name == $_SESSION['user']['User_ID'] || isAdmin()) {
// User is retrieving their own data or admin is retrieving data
global $conn;

$name = $conn->real_escape_string($name);
$sql = 
"SELECT * 
FROM reports 
WHERE User_ID = '".$name."'
ORDER BY Report_ID DESC
LIMIT 500;";

$result = $conn->query($sql);

$tbl  = '<form action="myreports.php" method="post" id="modify">
<select name="choice">
<option value="">--Select Bulk Option--</option>
<option value="reverse-status">Change Public Status</option>
<option value="change-cats">Change Categories/Keywords</option>
<option value="delete">Delete Reports</option>
</select>
<input class="formbutton" id="sub" type="submit" name="submit" value="Submit" /><br/>

<table class="table">';
$tbl .= '<tr>  <th class="no-bg"><input type="checkbox" id="selectall" class="left" />                                                                        
</th>  <th>ID</th>  <th>Title</th>  <th>Keywords</th>  <th>Category</th>    
<th>Public</th></tr>';

它是由$result引起的。可能由于查询失败,$result的值为false。您需要提供更多的代码,使我的答案更具体,但首先检查查询

在大多数情况下,发生此类错误是因为您没有检查您执行的查询是否返回了您可以处理的任何数据集,或者您的查询很可能失败,因此$result不是对象,因此会出现错误消息。

简单地说,$result不包含您认为它所包含的内容。我认为您的问题是$result可能返回false。这意味着您的查询已失败


尝试var_dump$result并查看它是否为false

你能在while循环之前发布代码吗?exeption消息提示您的查询出了问题。