首頁 > 後端開發 > php教程 > 為什麼 mysqli_num_rows() 回傳「期望參數 1 為 mysqli_result,給定布林值」?

為什麼 mysqli_num_rows() 回傳「期望參數 1 為 mysqli_result,給定布林值」?

DDD
發布: 2024-11-28 00:08:12
原創
686 人瀏覽過

Why Does mysqli_num_rows() Return

PHP 和 MySQL 中的 mysqli_num_rows() 函數錯誤:詳細指南

問題:

呼叫mysqli_num_rows()函數時,報錯會遇到「mysqli_num_rows() 期望參數 1 為 mysqli_result,給定布林值」。此錯誤表示傳遞給函數的參數有問題。

分析與解:

mysqli_num_rows() 函數期望第一個參數是有效的 mysqli_result 物件。在提供的程式碼中,$dbc 被錯誤地用作參數。然而,檢查程式碼發現 $dbc 是 mysqli_query() 呼叫的結果。

實際問題在於查詢本身。該查詢嘗試在「users」和「profile」表之間執行 INNER JOIN。但是,查詢中沒有指定明確 JOIN 條件。這會導致查詢傳回 false,然後將其傳遞給 mysqli_num_rows() 函數並觸發錯誤。

要解決此問題,您需要在查詢中指定有效的 JOIN 條件。在這種情況下,您可能應該在 user_id 欄位上加入「users」和「profile」。修正查詢後,它應該會傳回一個有效的 mysqli_result 對象,然後可以將其傳遞給 mysqli_num_rows() 函數。

修正的查詢:

透過此調整,查詢應該成功執行,傳回一個可由 mysqli_result 物件使用mysqli_num_rows() 函數不會觸發錯誤。

以上是為什麼 mysqli_num_rows() 回傳「期望參數 1 為 mysqli_result,給定布林值」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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