解析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 相关文章推荐
人大复印资料处理程序_补充篇
Oct 09 PHP
PHP $_SERVER详解
Jan 16 PHP
php 变量未定义等错误的解决方法
Jan 12 PHP
Zend的MVC机制使用分析(二)
May 02 PHP
php调用新浪短链接API的方法
Nov 08 PHP
基于ThinkPHP+uploadify+upload+PHPExcel 无刷新导入数据
Sep 23 PHP
WordPress中查询文章的循环Loop结构及用法分析
Dec 17 PHP
详解WordPress开发中wp_title()函数的用法
Jan 07 PHP
PHP+Ajax实现无刷新分页实例详解(附demo源码下载)
Apr 07 PHP
thinkPHP框架RBAC实现原理分析
Feb 01 PHP
PHP实现单例模式建立数据库连接的方法分析
Feb 11 PHP
thinkphp5.1 框架钩子和行为用法实例分析
May 25 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 分页类实现代码
2009/12/03 PHP
PHP数据集构建JSON格式及新数组的方法
2012/11/07 PHP
PHP实现的连贯操作、链式操作实例
2014/07/08 PHP
php正则表达式获取内容所有链接
2015/07/24 PHP
Smarty高级应用之缓存操作技巧分析
2016/05/14 PHP
PHP 500报错的快速解决方法
2016/12/14 PHP
php头像上传预览实例代码
2017/05/02 PHP
几款极品的javascript压缩混淆工具
2007/05/16 Javascript
关于IE浏览器以及Firefox下的javascript冒泡事件的响应层级
2010/10/14 Javascript
js实现单一html页面两套css切换代码
2013/04/11 Javascript
JS阻止用户多次提交示例代码
2014/03/26 Javascript
原生javascript实现获取指定元素下所有后代元素的方法
2014/10/28 Javascript
jquery实现勾选复选框触发事件给input赋值
2015/02/01 Javascript
javascript日期验证之输入日期大于等于当前日期
2015/12/13 Javascript
一次$.getJSON不执行的简单记录
2016/07/19 Javascript
Angular 4依赖注入学习教程之InjectToken的使用(八)
2017/06/04 Javascript
jQuery实现节点的追加、替换、删除、复制功能示例
2017/07/11 jQuery
vue复合组件实现注册表单功能
2017/11/06 Javascript
JavaScript实现单例模式实例分享
2017/12/22 Javascript
JavaScript实现的DOM树遍历方法详解【二叉DOM树、多叉DOM树】
2018/05/07 Javascript
Vue2.0 实现页面缓存和不缓存的方式
2019/11/12 Javascript
如何在vue项目中嵌入jsp页面的方法(2种)
2020/02/06 Javascript
解决vuex数据页面刷新后初始化操作
2020/07/26 Javascript
Python的词法分析与语法分析
2013/05/18 Python
python使用自定义user-agent抓取网页的方法
2015/04/15 Python
Python反射用法实例简析
2017/12/22 Python
python机器学习理论与实战(六)支持向量机
2018/01/19 Python
详解flask入门模板引擎
2018/07/18 Python
详解将Django部署到Centos7全攻略
2018/09/26 Python
python读取xlsx的方法
2018/12/25 Python
HTML5之SVG 2D入门3—文本与图像及渲染文本介绍
2013/01/30 HTML / CSS
斯巴达比赛商店:Spartan Race
2019/01/08 全球购物
SQL语言面试题
2013/08/27 面试题
致长跑运动员加油稿
2014/02/20 职场文书
2014年女职工工作总结
2014/11/27 职场文书
Mysql 用户权限管理实现
2021/05/25 MySQL