PhpRiot
News Archive
PhpRiot Newsletter
Your Email Address:

More information

SitePoint PHP Blog: MySQL Transactions & Why They Can't Be Emulated in PHP

Note: This article was originally published at PHPDeveloper on 16 December 2010.
PHPDeveloper

On the SitePoint blog there's a new article from Craig Buckler stating that MySQL transactions can't be emulated in PHP and shouldn't be discounted despite many developers seeing them as not much more than a performance hit.

My recent article, "Top 10 MySQL Mistakes Made by PHP Developers" was far more controversial than I expected. Several of the more intriguing responses were from PHP coders who considered transactions to be an unnecessary overhead. With good-quality PHP code, they argued, you don't need transactions or MySQL's InnoDB storage engine. It's certainly true you don't always need transactions.

He gives an example of a situation where database-based transactions would be very useful (inserting customer information) and points out that, despite the best intentions of developers, reducing as many layers and connections between SQL and code is a good thing. Transactions help you conform to the ACID ideas and keep data integrity by only having things in the database that were successful. He includes a small bit on using transactions as well.