Udsted blot mysql_query('START TRANSACTION');
og kontroller for fejl ved hver enkelt af dine indstik. Hvis en af dem ikke lykkes, udgiv en ROLLBACK med det samme uden at udføre nogen af de resterende forespørgsler. Hvis alt går fint med dem alle, skal du give en COMMIT.
Det kan være nemmere at placere dem i en try-catch blok for at undgå at bruge for mange niveauer af rede 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 vil måske også tage et kig på PHPs PDO-udvidelse . Transaktioner er en del af dets funktioner.