理解「警告:mysqli_query() 期望參數1 為MySQLi,在中給出null」錯誤
在嘗試建立自訂CMS ,您遇到以下錯誤訊息:
「警告:mysqli_query()期望參數1 為 MySQLi,在「
錯誤原因
中給出的 null MySQLi 物件作為其第一個參數。但是,在 getPosts() 函數中,您傳遞的是 null 值而不是 MySQLi 物件。
解決方案
此問題的解決方案是確保$con MySQLi 物件在 getPosts() 函數的範圍內。在您的程式碼中, $con 是在全域範圍內定義的,但在函數內無法存取它。
將 MySQLi 物件作為依賴項傳遞
一種方法解決方法是將 MySQLi 物件作為依賴項傳遞給 getPosts() 函數。具體方法如下:
function getPosts(mysqli $con) { // etc }
透過將 MySQLi 物件作為函數的參數,可以確保它在函數的作用域內可用,並且可以被 mysqli_query() 使用。
其他建議
除了解決範圍問題之外,請考慮實施以下建議:
這是如何實現這些的範例建議:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); // throw exceptions $con=mysqli_connect("localhost","xxxx","xxxx","xxxxx"); if (!$con) { throw new Exception("Failed to connect to MySQL: " . mysqli_connect_error()); } getPosts($con);
透過實作這些建議,您可以確保自訂CMS 的穩健性和可靠性。
以上是為什麼 `mysqli_query()` 回傳「警告:mysqli_query() 期望參數 1 為 MySQLi,給定 null」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!