ホームページ > データベース > mysql チュートリアル > デバッグ チェックポイントに合格したにもかかわらず、mysqli Insert が失敗するのはなぜですか?

デバッグ チェックポイントに合格したにもかかわらず、mysqli Insert が失敗するのはなぜですか?

Linda Hamilton
リリース: 2024-12-20 12:53:27
オリジナル
317 人が閲覧しました

Why is My mysqli Insert Failing Despite Passing Debug Checkpoints?

mysqli を使用したデータの挿入: 失敗した挿入のトラブルシューティング

このプログラムは、mysqli 拡張機能を使用して MySQL データベースにデータを挿入しようとします。ただし、デバッグ チェックポイントを正常に通過したにもかかわらず、データはテーブルに追加されません。

問題は、変数が準備されたステートメントにバインドされる方法にあります。元のコードでは、変数 $username と $password は、bind_param() を使用して 2 回バインドされています。これは間違いです。正しい構文は、bind_param() への 1 回の呼び出しで、データ型の後に変数を渡すことです。

これを修正するには、コードを次のように変更できます。

$stmt2->bind_param('ss', $username, $password);
ログイン後にコピー

または、 PHP 5.6 以降を使用している場合は、スプレッドを使用して変数配列を binding_param() に渡すことができます。演算子:

$data = ['username' => 'someUser', 'password' => 'secret'];
$stmt2->bind_param('ss', ...$data);
ログイン後にコピー

この修正が行われると、INSERT クエリが正常に実行され、データベースに新しい行が挿入されるはずです。

以上がデバッグ チェックポイントに合格したにもかかわらず、mysqli Insert が失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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