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 サイトの他の関連記事を参照してください。