ホームページ > データベース > mysql チュートリアル > HTML Purifier と mysqli_query() を使用した後、`mysqli_num_rows()` が「与えられたブール値」を返すのはなぜですか?

HTML Purifier と mysqli_query() を使用した後、`mysqli_num_rows()` が「与えられたブール値」を返すのはなぜですか?

Linda Hamilton
リリース: 2024-12-26 20:45:10
オリジナル
532 人が閲覧しました

Why Does `mysqli_num_rows()` Return

mysqli_num_rows() パラメーター 1 は mysqli_Result であることが期待され、PHP および MySQL で指定されるブール値

使用時のエラー メッセージ

ユーザー入力をフィルタリングし、クエリを実行するための HTML Purifier mysqli_query() を実行すると、次のエラーが発生する可能性があります:

mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given
ログイン後にコピー

このエラーは、mysqli_num_rows() が mysqli_result オブジェクトではなくブール値で呼び出されたときに発生します。

解決策

エラーの根本原因は、 SQLクエリ。指定されたコードのクエリ:

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

にエラーが含まれています。クエリのどこにもプロファイル テーブルとの JOIN がありません。これを修正するには、クエリに正しい JOIN ステートメントを含める必要があります。

修正されたクエリ:

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

以上がHTML Purifier と mysqli_query() を使用した後、`mysqli_num_rows()` が「与えられたブール値」を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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