錯誤:「警告:mysql_fetch_array():提供的參數不是有效的MySQL 結果」
嘗試執行PHP 腳本時,您遇到以下錯誤訊息:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result [duplicate]
當mysql_fetch_array()函數提供了無效的 MySQL 結果。要解決此問題,讓我們檢查根本原因:
無效的 MySQL 結果
mysql_fetch_array() 函數需要一個有效的 MySQL 結果物件作為其參數。該物件由 mysql_query() 函數在執行查詢後傳回。如果查詢無效或失敗,mysql_query() 函數將傳回錯誤值而不是有效的結果物件。
檢查錯誤
確定是否查詢是問題的根源,您應該在執行查詢後檢查 mysql_error() 函數。此函數將提供查詢執行期間發生的任何錯誤的詳細資訊。
範例程式碼:
$result = $connector->query('SELECT title,content FROM staff_vacancies ORDER BY ordering LIMIT 0,100'); if (!$result) { die('Invalid query: ' . mysql_error()); }
修改後的query() 函數
為了改進錯誤處理並提供更詳細的錯誤訊息,您可以修改您的query() 函數DbConnector類別如下:
function query($query) { $this->theQuery = $query; $queryId = mysql_query($query, $this->link); if (!$queryId) { throw new Exception(mysql_error() . ". Query was:\n\n" . $query . "\n\nError number: " . mysql_errno()); } return $queryId; }
此修改後的函數將拋出異常,並帶有詳細的錯誤訊息,包括錯誤號碼和失敗的查詢。透過處理此異常,您可以提供更用戶友好的錯誤訊息來幫助識別和解決問題。
以上是為什麼我的 PHP 腳本中出現「警告:mysql_fetch_array():提供的參數不是有效的 MySQL 結果」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!