理解「mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等等...期望參數 1 為資源」錯誤
當您遇到此錯誤時,表示資料庫檢索功能之一(例如,正在使用無效參數呼叫 mysql_fetch_array()、mysql_fetch_assoc() 等)。具體來說,該參數應該是代表資料庫結果集的資源,但它是一個布林值。
錯誤原因
此錯誤的根本原因錯誤通常是資料庫查詢失敗。當查詢失敗時,mysql_* 函數/方法傳回 false,這可能會被誤解為布林值。因此,當您隨後使用錯誤結果呼叫檢索函數時,會導致此錯誤。
修正錯誤
要解決此問題,您必須請按照以下步驟操作:
範例
考慮以下程式碼:
$username = mysql_real_escape_string($_POST['username']); $password = $_POST['password']; $result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '$username'"); if($result === FALSE) { trigger_error(mysql_error(), E_USER_ERROR); } while($row = mysql_fetch_array($result)) { echo $row['FirstName']; }
在這個範例中,我們先檢查mysql_query( )並在查詢失敗時觸發錯誤。然後,我們正確地將 $result 資源傳遞給 mysql_fetch_array() 函數。這可確保使用適當的參數,從而防止錯誤。
以上是為什麼 `mysql_fetch_array()` 顯示「期望參數 1 為資源」以及如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!