首頁 > 後端開發 > php教程 > 為什麼 `mysqli_query()` 回傳「警告:mysqli_query() 期望參數 1 為 mysqli,給定 null」錯誤?

為什麼 `mysqli_query()` 回傳「警告:mysqli_query() 期望參數 1 為 mysqli,給定 null」錯誤?

Mary-Kate Olsen
發布: 2024-12-05 00:53:14
原創
261 人瀏覽過

Why does `mysqli_query()` return a

警告:了解mysqli_query() 參數錯誤

在PHP 中使用mysqli_query() 時,確保第一個參數是一個至關重要表示資料庫連線的有效mysqli 物件。但是,如果遇到錯誤“警告:mysqli_query() 期望參數 1 為 mysqli,給出 null”,則表示傳遞給函數的第一個參數不是 mysqli 物件。

檢查程式碼

在您提供的程式碼中,您有一個名為 getPosts() 的函數。此函數嘗試查詢名為 Blog 的資料庫表。但是,在 getPosts() 內的 mysqli_query() 呼叫中,未明確傳遞第一個參數。因此,PHP 假定 $con 的值(在函數外部宣告)作為第一個參數。但是, $con 不在 getPosts() 的範圍內,因此傳回 null。

解決錯誤

要解決這個問題,您有兩個選擇:

  1. **全球化$con 變數:**您可以使用全域變數在getPosts() 中將$con 變數設為全域變數$con;宣言。這將告訴 PHP 在函數外部尋找 $con,使其可以在 getPosts() 中存取。
  2. **將 $con 變數作為參數傳遞:** 更好的方法是傳遞 $con 物件作為 getPosts() 函數的參數。這確保 getPosts() 可以直接存取資料庫連接,從而無需全域作用域。

例子:

其他建議

也建議處理任何潛在的錯誤可能發生在資料庫操作過程中。您可以如下明確啟用錯誤回報:

如果發生任何錯誤,這將引發異常,從而允許您在程式碼中採取適當的操作。

以上是為什麼 `mysqli_query()` 回傳「警告:mysqli_query() 期望參數 1 為 mysqli,給定 null」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板