| Posted by Jerry Stuckle on 07/15/06 03:29 
~john wrote:> I'm trying to get a transaction to work with PHP 5.1.4 and SQL Server
 > 2005... The first SQL statement deletes several rows in the database.
 > The next SQL statement loops through and inserts several rows into the
 > same table. What I'm wanting is for the database to rollback all
 > transactions if any 1 of the inserts fail. What's happening now is the
 > DELETE statement runs successfully deleting several rows... but as soon
 > as one of the INSERTS  fail, the page errors out WITHOUT rolling back
 > the DELETE statements. What am I doing wrong in my code?
 >
 > thanks,
 >
 > ~john
 >
 >
 >
 > mssql_query("BEGIN TRAN");
 >
 > $sql = "DELETE FROM MyTable WHERE Value > 0";
 >
 > $result = mssql_query($sql);
 >
 > foreach(loopVar as val)
 > {
 >           $sql = "INSERT INTO MyTable VALUES(1)";
 >           $result = mssql_query($sql);
 >
 >           if( ! $result ){
 >                 mssql_query('ROLLBACK TRAN');
 >                 exit;
 >           }
 >
 > }
 >
 > mssql_query("COMMIT TRAN");
 >
 
 John,
 
 Why not try asking in a MySQL newsgroup, like comp.databases.mysql?
 
 
 --
 ==================
 Remove the "x" from my email address
 Jerry Stuckle
 JDS Computer Training Corp.
 jstucklex@attglobal.net
 ==================
 [Back to original message] |