理解「警告:mysqli_query() 期望參數1 為MySQLi,在中給出null」錯誤
在您嘗試建立自訂CMS,您遇到以下錯誤訊息:
「警告:mysqli_query() 期望參數1 為MySQLi, null Give in"
錯誤原因
此錯誤表示執行 SQL 查詢的 mysqli_query() 函數需要 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 的穩健性和可靠性。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3