title: PHP mysqli::autocommit VS "START TRANSACTION"
body: <p>In our database layer object, we have always managed transactions with "START TRANSACTION", "ROLLBACK" and "COMMIT" SQL statements executed via mysqli::query.</p>
  
  <p>Doing some research today, I discovered <a href="http://dev.mysql.com/doc/refman/5.0/en/commit.html" rel="nofollow noreferrer">this mention in the MySQL Manual</a> regarding using API level calls to manage a transaction VS using straight SQL:</p>
  
  <blockquote>
    <p>Important</p>
    
    <p>Many APIs used for writing MySQL
    client applications (such as JDBC)
    provide their own methods for starting
    transactions that can (and sometimes
    should) be used instead of sending a
    START TRANSACTION statement from the
    client. See Chapter 20, Connectors and
    APIs, or the documentation for your
    API, for more information.</p>
  </blockquote>
  
  <p>And, upon looking closer at mysqli, found the mysqli::autocommit, mysqli::rollback and mysqli::commit methods for managing a transaction (<a href="http://us.php.net/manual/en/class.mysqli.php" rel="nofollow noreferrer">http://us.php.net/manual/en/class.mysqli.php</a>).</p>
  
  <p>My question: is it better to use these mysqli equivalents and why?  I can find no mention anywhere that says if or why these functions perform better than their straight SQL counterparts.</p>