首页 > 代码库 > 事务转账

事务转账

 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 }

 

事务转账