Forberedte opgørelser og transaktioner er ikke-relaterede teknikker og teknologier.
Du ønsker måske at udstede START TRANSACTION
og COMMIT
/ROLLBACK
kommandoer direkte i stedet for at bruge de dedikerede metoder. De er funktionelt ækvivalente.
Til din løkke skal du udstede START TRANSACTION
før din prepare
, derefter din COMMIT
efter at løkken er gået ud. Du bør sandsynligvis ikke forsøge at åbne en transaktion, efter at en forberedt erklæring er blevet startet, men før den er blevet udført.
Af en eller anden grund tilføjede de ikke en "start transaktion"-kommando til fordel for at slå autocommit fra. Det er en af de mærkelige ting ved mysqli, der gør, at jeg altid anbefaler PDO i stedet for. :) Åbning af en transaktion deaktiverer implicit autocommit i hele transaktionens varighed.