ホームページ >データベース >mysql チュートリアル >なぜ `mysqli_num_rows()` は「パラメータ 1 が mysqli_result であることを期待しており、ブール値が指定されている」を返すのでしょうか?
mysqli_num_rows() はパラメーター 1 が mysqli_result であることを期待し、ブール値が与えられます
エラー メッセージ "mysqli_num_rows( ) パラメーター 1 は次のようになると想定されます。 「mysqli_result, boolean Given」は、有効な MySQL 結果セット (mysqli_result) ではなくブール値に対して mysqli_num_rows() 関数を使用しようとすると発生します。
提供されたコード内、オンラインでエラーが発生します22:
if (mysqli_num_rows($dbc) == 0) {
変数 $dbc は、mysqli_query() 関数を使用して 13 行目で割り当てられます。ただし、クエリを調べるとエラーが明らかになります。
$dbc = mysqli_query($mysqli,"SELECT users.*, profile.* FROM users INNER JOIN contact_info ON contact_info.user_id = users.user_id WHERE users.user_id=3");
クエリは、「INNER JOIN」を使用して「users」テーブルと「profile」テーブルを結合しようとしていますが、「profile」と「profile」の間に結合条件がありません。他のテーブル。その結果、クエリは false (ブール値 false) を返します。
エラーを解決するには、クエリを修正して適切な結合条件を含める必要があります。修正されたクエリは次のとおりです:
$dbc = mysqli_query($mysqli,"SELECT users.*, profile.* FROM users INNER JOIN profile ON users.user_id = profile.user_id WHERE users.user_id=3");
この修正により、クエリは有効な MySQL 結果セットを返し、mysqli_num_rows() が正しく動作できるようになります。
以上がなぜ `mysqli_num_rows()` は「パラメータ 1 が mysqli_result であることを期待しており、ブール値が指定されている」を返すのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。