dovresti utilizzare i punti di COMMIT e i ROLLBACK, che mi sembra direttamente siano gestibili dall'estensione mysql di PHP solo con tabelle di tipo INNODB, ma forse sbaglio...
c'èra una discussione in proposito qui

cmq io, per fare le query in genere utilizzo l'oggetto PDO del php, che gestisce in maniera facile sia l'astrazione dal tipo di database utilizzato(non l'astrazione dal linguaggio sql), sia i metodi per la gestione delle transazioni(commit, rollback,etc...)

ciauz