ホームページ > バックエンド開発 > PHPチュートリアル > 「mysqli_num_rows()」が「mysqli_result」オブジェクトではなくブール値を返すのはなぜですか?

「mysqli_num_rows()」が「mysqli_result」オブジェクトではなくブール値を返すのはなぜですか?

Patricia Arquette
リリース: 2024-11-29 03:14:12
オリジナル
543 人が閲覧しました

Why Does `mysqli_num_rows()` Return a Boolean Instead of a `mysqli_result` Object?

PHP と MySQL: mysqli_num_rows() はパラメーター 1 が mysqli_result であることを期待し、ブール値が与えられる

問題

HTML Purifier を PHP スクリプトに統合する場合、 22行目でエラーが発生します。 mysqli_num_rows() は、パラメーター 1 が mysqli_result (ブール値が指定されたもの) であることを期待します。このエラーは、MySQL クエリによって返される行数を確認しようとすると発生します。

解決策

エラーは、行 22 の不正な SQL クエリによって発生します。

$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");
ログイン後にコピー

エラーは次のとおりです:「どこにもプロファイルで参加していません。」これは、クエリが user_id 列でユーザーとプロファイル テーブルを結合しようとしているが、プロファイル テーブルが FROM 句に含まれていないことを意味します。

問題を解決するには、プロファイル テーブルをFROM 句は次のようになります:

$dbc = mysqli_query($mysqli,"SELECT users.*, profile.*
                                 FROM users 
                                 INNER JOIN profile ON contact_info.user_id = users.user_id 
                                 WHERE users.user_id=3");
ログイン後にコピー

この変更により、クエリはユーザー テーブルとプロファイル テーブルを正しく結合し、必要な結果を返します。

以上が「mysqli_num_rows()」が「mysqli_result」オブジェクトではなくブール値を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート