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

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

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-20 12:53:27320ブラウズ

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

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