警告:mysqli_query() 期望參數1 為mysqli,給定null
嘗試使用mysqli_query 執行查詢時會出現此錯誤( ),但連接物件的參數不是有效的MySQLi 物件。 mysqli_query() 函數期望第一個參數是 mysqli 類別的實例。
在提供的程式碼片段中,錯誤可能是由於以下原因引起的:
作用域問題
在全域作用域中聲明的mysqli 連線物件$con 在getPosts() 函數。這會導致 null 值作為第一個參數傳遞給 mysqli_query(),從而導致錯誤。
解決方案:
要解決此問題,您可以明確將連接物件作為參數傳遞給 getPosts() 函數。以下是修改後的程式碼:
function getPosts(mysqli $con) { $query = mysqli_query($con, "SELECT * FROM Blog"); // ... Rest of the code remains the same }
現在,當您呼叫 getPosts() 函數時,請務必將連線物件作為參數傳遞。
此外,最好啟用錯誤回報並優雅地處理資料庫連線問題。這是一個範例:
// Enable error reporting mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); // Establish database connection $con = mysqli_connect("localhost", "xxxx", "xxxx", "xxxxx"); // Check connection status if (!$con) { throw new Exception('Failed to connect to MySQL: ' . mysqli_connect_error()); } // Call the getPosts() function with the connection object getPosts($con);
以上是為什麼 `mysqli_query()` 回傳「期望參數 1 為 mysqli,給定 null」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!