Po prostu wydaj mysql_query('START TRANSACTION');
i sprawdź, czy nie ma błędów na każdej z twoich wstawek. Jeśli jeden z nich się nie powiedzie, natychmiast wyślij ROLLBACK bez wykonywania pozostałych zapytań. Jeśli wszystko pójdzie dobrze z nimi wszystkimi, wyślij ZATWIERDZENIE.
Łatwiej jest umieścić je w bloku try-catch, aby uniknąć używania zbyt wielu poziomów zagnieżdżania z 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
}
Możesz również przyjrzeć się rozszerzeniu PDO PHP . Transakcje są częścią jego funkcji.