In PHP versions < 5.1cvs (as of date of this posting) this function actually returns FALSE on success and TRUE on error. This is because it was coded as a straight pass-thru wrapper to the MySQL api from MySQL a.b. and the mysql_commit() function in that api returns 0 on success and non-zero on failure.
Keep this in mind if you are checking the return value of this function.