錯誤訊息:「mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等...期望參數1 為資源,給定布林值」
呼叫需要資源作為第一個參數的函數時會發生此錯誤,但是而是傳遞布林值。在這種特定情況下,它表示查詢失敗,導致傳回錯誤值。
解決方案:
要解決此問題,請檢查以下結果MySQL 查詢,然後將其傳遞給資料擷取函數。在 PHP 的 mysql_ 擴充功能中,使用 mysql_query() 並測試其回傳值。如果查詢失敗,您可以相應地處理錯誤或發出觸發器。
這是一個改進的錯誤處理範例:
<?php $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_real_escape_string() 來清理使用者輸入,您可以也可以防止 SQL 注入攻擊,這可能會導致查詢失敗。
以上是為什麼我在 PHP 中收到「mysql_fetch_array() 期望參數 1 為資源,給定布林值」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!