プリペアドステートメントとトランザクションは、無関係の手法とテクノロジーです。
START TRANSACTION
を発行することをお勧めします およびCOMMIT
/ロールバックコード> 専用のメソッドを使用する代わりに、コマンドを直接使用します。それらは機能的に同等です。
ループの場合は、 START TRANSACTION
を発行します 前 prepare
、次に COMMIT
ループが終了した後。プリペアドステートメントが開始された後、実行される前に、トランザクションを開こうとしないでください。
何らかの理由で、自動コミットをオフにするために「トランザクションの開始」コマンドを追加しませんでした。これは、mysqliの奇妙な点の1つであり、代わりに常にPDOを推奨しています。 :)トランザクションを開くと、トランザクションの期間中、自動コミットが暗黙的にオフになります。