php+Mysqli利用事务处理转账问题实例

 更新时间:2015年02月11日 14:40:16   作者:woshisap  
这篇文章主要介绍了php+Mysqli利用事务处理转账问题的方法,实例分析了php+mysqli处理事务的提交与回滚的技巧,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

本文实例讲述了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); 
  } 
   
  $mysqli->autocommit(false); //自动提交模式设为false 
  $flag = true; //事务是否成功执行的标志 
   
  $query = "update account set balance=balance-1000 where id=3"; 
  $result = $mysqli->query($query); 
  $affected_count = $mysqli->affected_rows; 
  if(!result || $affected_count == 0) {  //失败 
   $flag = false;   
  } 
   
  $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(); 
?>

希望本文所述对大家的php程序设计有所帮助。

相关文章

  • 关于PHP内存溢出的原因和解决方法

    关于PHP内存溢出的原因和解决方法

    PHP内存溢出指的是在PHP应用程序中,分配给脚本执行的内存超出了PHP配置文件中设置的限制,当脚本尝试使用比可用内存更多的内存时,就会发生内存溢出错误,本文给大家介绍了PHP内存溢出的原因及解决方法,需要的朋友可以参考下
    2023-12-12
  • PHP实现抽奖系统的示例代码

    PHP实现抽奖系统的示例代码

    这篇文章主要为大家介绍了如何利用PHP实现三种不同的抽奖算法:随机抽奖、概率抽奖和内定抽奖,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-06-06
  • php self,$this,const,static,-&gt;的使用

    php self,$this,const,static,-&gt;的使用

    用php这么久了,惭愧的是,原来自己还一直没分清楚这几个关键字使用方法。
    2009-10-10
  • php+MySQL实现登录时验证登录名和密码是否正确

    php+MySQL实现登录时验证登录名和密码是否正确

    本文实例实现登录时去数据库校验用户输入的登录名和密码是否正确,这篇文章主要介绍了php+MySQL实现登录时校验登录名和密码是否正确,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • ajax 的post方法实例(带循环)

    ajax 的post方法实例(带循环)

    在最近的项目中,为了能解决在大数据查询中出现的超时问题,需要将大数据拆分成小数据,然后进行循环处理。本人经验不足,技术有限,只能想到用ajax来传送数据。
    2011-07-07
  • php与python实现的线程池多线程爬虫功能示例

    php与python实现的线程池多线程爬虫功能示例

    这篇文章主要介绍了php与python实现的线程池多线程爬虫功能,结合实例形式分析了php与python实现线程池多线程爬虫的完整实现方法,需要的朋友可以参考下
    2016-10-10
  • php魔术方法功能与用法实例分析

    php魔术方法功能与用法实例分析

    这篇文章主要介绍了php魔术方法功能与用法,结合实例形式简单分析了php面向对象程序设计中常见魔术方法的功能与相关使用技巧,需要的朋友可以参考下
    2016-10-10
  • php实现自定义中奖项数和概率的抽奖函数示例

    php实现自定义中奖项数和概率的抽奖函数示例

    这篇文章主要介绍了php实现自定义中奖项数和概率的抽奖函数,涉及php字符串、数组的概率运算相关操作技巧,需要的朋友可以参考下
    2017-05-05
  • 遭遇php的in_array低性能问题

    遭遇php的in_array低性能问题

    PHP的性能一直在提高。然而,若是用的不恰当,或是一个不留神,还是可能会踩到PHP内部实现方面的坑的。我在前几天的一个性能问题上就碰到了
    2013-09-09
  • php实现汉字验证码和算式验证码的方法

    php实现汉字验证码和算式验证码的方法

    这篇文章主要介绍了php实现汉字验证码和算式验证码的方法,实例分析了算式验证码及中文汉字验证码的实现技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03

最新评论

?


http://www.vxiaotou.com