Utfärda helt enkelt mysql_query('START TRANSACTION');
och kontrollera om det finns fel vid vart och ett av dina insatser. Om en av dem inte lyckas gör en ROLLBACK omedelbart utan att göra någon av de återstående frågorna. Om allt går bra med dem alla utfärda ett COMMIT.
Det kan vara lättare att placera dem i ett försöksfångstblock för att undvika att använda för många nivåer av häckning med 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
}
Du kanske också vill ta en titt på PHPs PDO-tillägg . Transaktioner är en del av dess funktioner.