ホームページ >バックエンド開発 >PHPチュートリアル >INSERT クエリ中に「バインド変数の数が準備されたステートメントのフィールドの数と一致しません」というエラーが発生するのはなぜですか?

INSERT クエリ中に「バインド変数の数が準備されたステートメントのフィールドの数と一致しません」というエラーが発生するのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-31 04:12:02567ブラウズ

 Why Does

データの挿入中にバインド変数の数が準備されたステートメントのフィールドの数と一致しません

PHP の mysqli 拡張機能を使用してデータベースにデータを挿入しようとすると、次のエラーが発生します:

Warning: mysqli_stmt::bind_result(): Number of bind variables doesn't
match number of fields in prepared statement in
E:\XAMPP\htdocs\account\lib\register.php on line 73

このエラーは、INSERT クエリの各フィールドにバインド変数を指定しても、クエリが結果を返さない場合に発生します。この問題を解決するには、結果をバインドする行を削除する必要があります:

<code class="php">$stmt->bind_result($user, $pw);</code>

変更されたコード スニペットは次のようになります:

<code class="php">$conn->prepare("INSERT INTO login(user, pass) VALUES(?, ?)");
$stmt->bind_param("ss", $user, $pw);
$stmt->execute();</code>

以上がINSERT クエリ中に「バインド変数の数が準備されたステートメントのフィールドの数と一致しません」というエラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。