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中文網其他相關文章!