Jednoduše zadejte mysql_query('START TRANSACTION');
a zkontrolujte chyby u každé z vašich příloh. Pokud jeden z nich neuspěje, okamžitě vydejte ROLLBACK, aniž byste provedli jakýkoli ze zbývajících dotazů. Pokud vše půjde dobře se všemi, vydejte COMMIT.
Může být snazší je umístit do bloku try-catch, abyste se vyhnuli použití příliš mnoha úrovní vnoření s if-else.
// START TRANSACTION
try{
// INSERT 1
if(failed)
throw new Exception();
// INSERT 2
if(failed)
throw new Exception();
// INSERT 3
if(failed)
throw new Exception();
// COMMIT
}
catch(Exception $e){
// ROLLBACK
}
Můžete se také podívat na rozšíření PDO PHP . Transakce jsou součástí jeho funkcí.