Vorbereitete Kontoauszüge und Transaktionen sind unabhängige Techniken und Technologien.
Sie können den START TRANSACTION
ausgeben und COMMIT
/ROLLBACK
Befehle direkt, anstatt die dedizierten Methoden zu verwenden. Sie sind funktional gleichwertig.
Für Ihre Schleife geben Sie den START TRANSACTION
aus vorher Ihre prepare
, dann Ihr COMMIT
nachdem die Schleife beendet wurde. Sie sollten wahrscheinlich nicht versuchen, eine Transaktion zu öffnen, nachdem eine vorbereitete Anweisung gestartet wurde, aber bevor sie ausgeführt wurde.
Aus irgendeinem Grund haben sie keinen "Start Transaction"-Befehl hinzugefügt, um Autocommit zu deaktivieren. Es ist eines dieser seltsamen Dinge an mysqli, das mich dazu bringt, stattdessen immer PDO zu empfehlen. :) Das Öffnen einer Transaktion schaltet Autocommit implizit für die Dauer der Transaktion aus.