1 /** 2 * 普通的连接 3 */ 4 mysql_connect(‘127.0.0.1‘,‘root‘,‘root‘); 5 mysql_select_db(‘news‘); 6 mysql_query(‘BIGIN‘);//开启事务 7 mysql_query(‘set names utf8‘); 8 mysql_query("update bank set money=money-500 where name=‘cnn‘"); 9 $q1=mysql_affected_rows(); 10 mysql_query("update bank set money=money+500 where name=‘cnn1‘"); 11 $q2=mysql_affected_rows(); 12 if($q1 && $q2) 13 { 14 mysql_query(‘COMMIT‘);//提交 15 } 16 else 17 { 18 mysql_query(‘ROOLBACK‘);//回滚 19 }
1 /** 2 * pdo 事务 3 */ 4 $dsn="mysql:host=127.0.0.1;dbname=news"; 5 $db = new pdo($dsn,‘root‘,‘root‘); 6 $db->exec(‘set names utf8‘); 7 try{ 8 $db->beginTransaction(); 9 $res=$db->exec("update bank set money=money-600 where name=‘cnn‘"); 10 if(!$res) 11 { 12 throw new PDOException(‘cnn error‘); 13 } 14 $res=$db->exec("update bank set money=money+600 where name=‘cnn1‘"); 15 if(!$res) 16 { 17 throw new PDOException(‘cnn1 error‘); 18 } 19 $db->commit(); 20 } 21 catch(PDOException $e){ 22 $db->rollback(); 23 echo $e->getMessage(); 24 }
时间: 2024-11-03 15:07:59