首頁 >後端開發 >php教程 >為什麼 PHP MySQLi 中會出現「在非物件上呼叫成員函數 fetch_assoc()」的情況以及如何修復?

為什麼 PHP MySQLi 中會出現「在非物件上呼叫成員函數 fetch_assoc()」的情況以及如何修復?

Patricia Arquette
Patricia Arquette原創
2024-12-07 04:41:11989瀏覽

Why Does

致命錯誤:在非物件上呼叫fetch_assoc()

在嘗試擷取影像資訊頁面時,PHP 開發人員遇到致命錯誤:「呼叫非物件上的成員函數fetch_assoc()。」此錯誤表示應該保存MySQLi 結果集的$result 變數不是一個物件。

要解決此問題,開發人員需要驗證資料庫->query() 方法執行的查詢。如果查詢執行失敗,MySQLi->query() 傳回 false,從而導致錯誤。程式碼應修改以處理潛在的查詢錯誤,如下所示:

$result = $this->database->query($query);
if (!$result) {
    throw new Exception("Database Error [{$this->database->errno}] {$this->database->error}");
}

透過合併此錯誤處理,任何查詢錯誤都將被捕獲並作為異常拋出,從而允許適當的錯誤處理和解決。

以上是為什麼 PHP MySQLi 中會出現「在非物件上呼叫成員函數 fetch_assoc()」的情況以及如何修復?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn