mysqli и PDO поддерживают транзакции напрямую, и старые функции mysql_ * могут вручную инициировать транзакцию, отправляя запрос "BEGIN TRANSACTION" и запросы "COMMIT" или "ROLLBACK", когда вы закончите.
Я бы лично пошел на PDO, но это всего лишь личные предпочтения.Mysqli должно быть в порядке также.