解析php mysql 事务处理回滚操作(附实例)


Posted in PHP onAugust 05, 2013

很多新手在进行项目过程中,会碰到这样一种情况,如:论坛扣币项目中,用户支付论坛币的时候如果突然断网、电脑死机、停电、等其它自然灾害时,导致本次交易没有成功(即用户的币已经扣掉了,但是服务器数据库中没有消费记录等其它情况),这种情况应该怎么样进行处理呢?

在这个时候,我们可以用Mysql事务回滚来进行处理,那代码怎么写呢?
那下面我就来说一说这个mysql事务回滚应该怎么处理。

首先MYSQL中只有INNODB和BDB类型的数据表才能支持事务处理!其他的类型是不支持的!

那如果,我们的数据表已经存在,并且不是上面所说的两种类型的话,应该怎么办呢?

1、我可以去找一个叫MySQL-Front的软件,里面能更改表类型。
2、我们也可以通过SQL语句来更改,sql语句可以这样写:

 ALTER  TABLE  TABLENAME  type  =  InnoDB;

将需要修类型的表全更改完成后,我们可以到PHP文件中用代码进行测试了。
mysql_query("BEGIN"); //或者mysql_query("START TRANSACTION"); 
$sql = "INSERT INTO ..."; 
$sql2 = "INSERT INTO ..."; 
$res = mysql_query($sql); 
$res1 = mysql_query($sql2);  
if($res && $res1){  
 mysql_query("COMMIT");  
 echo '提交成功。'; 
}else{  
 mysql_query("ROLLBACK");  
 echo '数据回滚。'; 
} 
mysql_query("END");

看到这里,应该知道怎么用PHP来处理mysql的事务回滚了吧。很简单吧!
PHP 相关文章推荐
让PHP支持页面回退的两种方法
Jan 10 PHP
PHP判断变量是否为0的方法
Feb 08 PHP
PhpDocumentor 2安装以及生成API文档的方法
May 21 PHP
Java和PHP在Web开发方面对比分析
Mar 01 PHP
PHP生成指定随机字符串的简单实现方法
Apr 01 PHP
PHP基于单例模式实现的数据库操作基类
Jan 15 PHP
微信公众号判断用户是否已关注php代码解析
Jun 24 PHP
php file_get_contents取文件中数组元素的方法
Apr 01 PHP
PHP设计模式之状态模式定义与用法详解
Apr 02 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
Sep 04 PHP
PHP PDOStatement::getAttribute讲解
Feb 01 PHP
Laravel框架查询构造器简单示例
May 08 PHP
php多层数组与对象的转换实例代码
Aug 05 #PHP
注意:php5.4删除了session_unregister函数
Aug 05 #PHP
PHP中fwrite与file_put_contents性能测试代码
Aug 02 #PHP
PHP-Fcgi下PHP的执行时间设置方法
Aug 02 #PHP
基于php中使用excel的简单介绍
Aug 02 #PHP
PHP自动识别字符集并完成转码详解
Aug 02 #PHP
PHP实现根据浏览器跳转不同语言页面代码
Aug 02 #PHP
You might like
基于PHP遍历数组的方法汇总分析
2013/06/08 PHP
CodeIgniter CLI模式简介
2014/06/17 PHP
php中mysql连接方式PDO使用详解
2015/02/25 PHP
php实现改变图片直接打开为下载的方法
2015/04/14 PHP
PHP中set error handler函数用法小结
2015/11/11 PHP
PHP实现链式操作的原理详解
2016/09/16 PHP
PHP编程实现微信企业向用户付款的方法示例
2017/07/26 PHP
thinkphp5修改view到根目录实例方法
2019/07/02 PHP
laravel 解决ajax异步提交数据,并还回填充表格的问题
2019/10/15 PHP
prototype class详解
2006/09/07 Javascript
Js实现双击鼠标自动滚动屏幕的示例代码
2013/12/14 Javascript
jquery中checkbox使用方法简单实例演示
2015/11/24 Javascript
js实现数字从零慢慢增加到指定数字示例
2019/11/07 Javascript
Vue学习之组件用法实例详解
2020/01/06 Javascript
JavaScript实现省份城市的三级联动
2020/02/11 Javascript
JS中作用域以及变量范围分析
2020/07/18 Javascript
解决vue-photo-preview 异步图片放大失效的问题
2020/07/29 Javascript
vue2.0 watch里面的 deep和immediate用法说明
2020/10/30 Javascript
在Python中使用M2Crypto模块实现AES加密的教程
2015/04/08 Python
Python 数据结构之队列的实现
2017/01/22 Python
Python使用pip安装报错:is not a supported wheel on this platform的解决方法
2018/01/23 Python
pycharm 对代码做静态检查操作
2020/06/09 Python
J2EE系统只能是基于web
2015/09/08 面试题
学生周末回家住宿长期请假条
2014/02/15 职场文书
平安建设工作方案
2014/06/02 职场文书
授权委托书公证
2014/09/14 职场文书
女生抽烟检讨书
2014/10/05 职场文书
开展党的群众路线教育实践活动情况汇报
2014/11/05 职场文书
社区活动总结范文
2015/05/07 职场文书
2015年行政执法工作总结
2015/05/23 职场文书
2015年乡镇食品安全工作总结
2015/10/22 职场文书
详解MySQL中timestamp和datetime时区问题导致做DTS遇到的坑
2021/12/06 MySQL
MySQL创建管理RANGE分区
2022/04/13 MySQL
python和Appium的移动端多设备自动化测试框架
2022/04/26 Python
Java 异步任务计算FutureTask
2022/04/28 Java/Android
Centos7 Shell编程之正则表达式、文本处理工具详解
2022/08/05 Servers