Do not use transactions (e.g. with InnoDB MySQL tables) with persistent connections. If your script stops or exits for any reason, your transaction will be left open and your locks will be left on. You have to reset MySQL to release them (so far as I can figure). They won't ROLLBACK automatically on error, like they ought to. When you restart the script, you'll get a new connection, so you can't rollback or commit for the previous script. Any script with a start transaction, rollback, or commit SQL statement should use regular (not persistent) connections. Seems like PHP ought to automatically issue a ROLLBACK on any open transactions when a script exits (error or otherwise) without a COMMIT. ZEND's site has a brief blurb on this. It's OK to mix/match so you use a persistent connection for the read stuff, but open a new regular connection conditionally (if you have to update, which is usually less often).
----
Manual Page -- [url]http://www.php.net/manual/en/function.mysql-pconnect.php[/url]
Edit Note -- [url]http://master.php.net/manage/user-notes.php?action=edit+33994[/url]
Delete Note -- [url]http://master.php.net/manage/user-notes.php?action=delete+33994&report=yes[/url]
Reject Note -- [url]http://master.php.net/manage/user-notes.php?action=reject+33994&report=yes[/url]