Por otra parte efectivamente las transacciones son bastante útiles en estos casos. Una nota, si usas START TRANSACTION asegúrate de definir AUTOCOMMIT=0 antes.
Código
$consultas[] = 'INSERT INTO primer_tabla VALUES ('',1,2,3)'; $consultas[] = "INSERT INTO segunda_tabla VALUES ('',3,2,1)"; foreach($consultas as $consulta){ } // Si hay error, hacemos rollback (deshacer) // en caso contrario, commit (aplicar)
Aquí puedes ver porque usar mysqli te puede venir bien.. justo para lo que quieres..
Código
<?php $enlace = new mysqli('host', 'user', 'pass', 'db'); $query = "INSERT INTO primer_tabla VALUES ('',1,2,3); "; $query .= "INSERT INTO segunda_tabla VALUES ('',3,2,1); "; if(!$enlace->multi_query($query)){ } ?>
Saludos