ホームページ >バックエンド開発 >PHPチュートリアル >MySQLi のプリペアド ステートメントで「バインド変数の数が正しくありません」エラーが発生するのはなぜですか?

MySQLi のプリペアド ステートメントで「バインド変数の数が正しくありません」エラーが発生するのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-28 07:06:02373ブラウズ

Why am I getting an

準備されたステートメント内のバインド変数の数が正しくない: トラブルシューティング

MySQLi を使用して INSERT ステートメントを実行すると、バインド変数の数が正しくないことを示すエラーが発生する場合があります。準備されたステートメント内のフィールドの数と一致しません。

このエラーは、結果を返さないステートメントに結果をバインドしようとすると発生します。この問題を解決するには、$stmt->bind_result($user, $pw); を削除します。コード スニペットの行。

修正されたコードは次のようになります。

if($stmt = $conn->prepare("INSERT INTO login(user, pass) VALUES(?, ?)")) {

  /* Bind parameters s - string, b - blob, i - int, etc */
  $stmt->bind_param("ss", $user, $pw);

  /* Execute it */
  $stmt->execute();

  /* Close statement */
  $stmt->close();
  $userId = $conn->insert_id;
} 

以上がMySQLi のプリペアド ステートメントで「バインド変数の数が正しくありません」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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