解析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作的文本留言本的例子(六)
Oct 09 PHP
聊天室php&mysql(二)
Oct 09 PHP
PHP4在Windows2000下的安装
Oct 09 PHP
php判断字符以及字符串的包含方法属性
Aug 30 PHP
PHP里的中文变量说明
Jul 23 PHP
php之CodeIgniter学习笔记
Jun 17 PHP
分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件
Aug 23 PHP
PHP实现适用于自定义的验证码类
Jun 15 PHP
php使用PDO执行SQL语句的方法分析
Feb 16 PHP
php工具型代码之印章抠图
Jul 18 PHP
Laravel-admin之修改操作日志的方法
Sep 30 PHP
Laravel ORM 数据model操作教程
Oct 21 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遍历文件夹与子目录的函数代码
2011/09/26 PHP
PHP实现加密的几种方式介绍
2015/02/22 PHP
使用GDB调试PHP代码,解决PHP代码死循环问题
2015/03/02 PHP
PHP数组和explode函数示例总结
2015/05/08 PHP
php常用图片处理类
2016/03/16 PHP
php微信浏览器分享设置以及回调详解
2016/08/01 PHP
Yii2.0中的COOKIE和SESSION用法
2016/08/12 PHP
php set_include_path函数设置 include_path 配置选项
2016/10/30 PHP
Alliance vs AM BO3 第二场2.13
2021/03/10 DOTA
循环 vs 递归浅谈
2013/02/28 Javascript
jQuery .attr()和.removeAttr()方法操作元素属性示例
2013/07/16 Javascript
httpclient模拟登陆具体实现(使用js设置cookie)
2013/12/11 Javascript
JavaScript italics方法入门实例(把字符串显示为斜体)
2014/10/17 Javascript
js判断子窗体是否关闭的方法
2015/08/11 Javascript
js利用正则表达式检验输入内容是否为网址
2016/07/05 Javascript
vue和webpack项目构建过程常用的npm命令详解
2018/06/15 Javascript
解决vuejs 使用value in list 循环遍历数组出现警告的问题
2018/09/26 Javascript
JS中的算法与数据结构之二叉查找树(Binary Sort Tree)实例详解
2019/08/16 Javascript
JavaScript 链表定义与使用方法示例
2020/04/28 Javascript
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
Javascript表单序列化原理及实现代码详解
2020/10/30 Javascript
[54:53]完美世界DOTA2联赛PWL S2 GXR vs PXG 第二场 11.18
2020/11/18 DOTA
Numpy掩码式数组详解
2018/04/17 Python
ubuntu17.4下为python和python3装上pip的方法
2018/06/12 Python
全网首秀之Pycharm十大实用技巧(推荐)
2020/04/27 Python
Python实现冒泡排序算法的完整实例
2020/11/04 Python
html5 兼容IE6结构的实现代码
2012/05/14 HTML / CSS
利用html5的websocket实现websocket聊天室
2013/12/12 HTML / CSS
英国假发网站:Hothair
2018/02/23 全球购物
毕业生医学检验求职信
2013/10/16 职场文书
机修工岗位职责
2013/11/24 职场文书
毕业生就业协议书
2014/04/11 职场文书
企业宣传策划方案
2014/05/29 职场文书
MySQL多表查询机制
2022/03/17 MySQL
让JavaScript代码更加精简的方法技巧
2022/06/01 Javascript
Docker部署Mysql8的实现步骤
2022/07/07 Servers