加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php借助事务处理转账问题

发布时间:2022-07-01 15:48:02 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要介绍了php利用事务处理转账问题的方法,实例分析了php处理事务的提交与回滚的技巧,需要的朋友可以参考下,本文实例讲述了php+Mysqli利用事务处理转账问题的方法,分享给大家供大家参考 ?php header(Content-type:text/html; charset=utf-8); $mysql
  这篇文章主要介绍了php利用事务处理转账问题的方法,实例分析了php处理事务的提交与回滚的技巧,需要的朋友可以参考下,本文实例讲述了php+Mysqli利用事务处理转账问题的方法,分享给大家供大家参考
 
  <?php  
   header("Content-type:text/html; charset=utf-8");  
      
   $mysqli = new mysqli("localhost", "root", "064319", "php");  
   $mysqli->set_charset("utf8");  
      
   if($mysqli->connect_errno) {  
    die('数据库连接失败'.$mysqli->connect_error);  
   }  
      
    }  
      
   $query = "update account set balance=balance+1000 where id=2";  
   $result = $mysqli->query($query);  
   $affected_count = $mysqli->affected_rows;  
   if(!$result || $affected_count == 0) {  
    $flag = false;  
   }  
      
   if($flag) {  
    $mysqli->commit();  
    echo '转账成功';  
   } else {  
    $mysqli->rollback();  
    echo '转账失败';  
   }  
      
   $mysqli->autocommit(true); //重新设置事务为自动提交  
   $mysqli->close();  
  ?>
  代码二:
 
      
   try{  
   $age=10;  
   $pdo->beginTransaction();//开始事务  
   $affected_rows1=$pdo->exec("update kfry set k_age=k_age+{$age} where k_name='user1'");  
   $affected_rows2=$pdo->exec("update kfry set k_age=k_age-{$age} where k_name='user2'");//随意更改使之执行成功或失败  
   /* if($affected_rows1&&$affected_rows2)  
   {  
   $pdo->commit();  
   echo "操作成功";  
    echo "操作成功";  
   $pdo->commit();//如果执行到此处前面两个更新sql语句执行成功,整个事务执行成功  
   }catch(PDOException $e){  
   echo "操作失败:".$e->getMessage();  
   $pdo->rollback();//执行事务中的语句出了问题,整个事务全部撤销  
   }  
   $pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,1);  
   //测试是否成功  
   echo "n操作结果为:n";  
   $sql="select * from kfry";  
   $result=$pdo->query($sql);  
   foreach($result as $v)  
   {  
   echo $v['k_name']." ".$v['k_age']."n";  
   }  
  ?>
 

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读