Připravené výkazy a transakce jsou vzájemně nesouvisející techniky a technologie.
Možná budete chtít vydat START TRANSACTION
a COMMIT
/ROLLBACK
příkazy přímo namísto použití vyhrazených metod. Jsou funkčně ekvivalentní.
Pro vaši smyčku byste zadali START TRANSACTION
před prepare
a poté váš COMMIT
po opuštění smyčky. Pravděpodobně byste se neměli pokoušet otevřít transakci po spuštění připraveného výpisu, ale před jeho provedením.
Z nějakého důvodu nepřidali příkaz "zahájit transakci" ve prospěch vypnutí automatického potvrzení. Je to jedna z těch divných věcí na mysqli, která mě nutí vždy místo toho doporučovat PDO. :) Otevření transakce implicitně vypne automatické potvrzení po dobu trvání transakce.