解析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 相关文章推荐
第1次亲密接触PHP5(2)
Oct 09 PHP
第二节--PHP5 的对象模型
Nov 16 PHP
PHP学习 变量使用总结
Mar 24 PHP
php中长文章分页显示实现代码
Sep 29 PHP
PHPer 需要了解的 5 个 Composer 小技巧
Aug 18 PHP
PHP中的Streams详细介绍
Nov 12 PHP
在Yii2中使用Pjax导致Yii2内联脚本载入失败的原因分析
Mar 06 PHP
PHP中key和current,next的联合运用实例分析
Mar 29 PHP
老生常谈php 正则中的i,m,s,x,e分别表示什么
Mar 02 PHP
ThinkPHP中调用PHPExcel的实现代码
Apr 08 PHP
PHP删除数组中指定下标的元素方法
Feb 03 PHP
php处理抢购类功能的高并发请求
Feb 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
MYSQL 小技巧 -- LAST_INSERT_ID
2009/11/24 PHP
php加速器eAccelerator的配置参数、API详解
2014/05/05 PHP
php自定义加密与解密程序实例
2014/12/31 PHP
php计算整个目录大小的方法
2015/06/01 PHP
ThinkPHP框架分布式数据库连接方法详解
2017/03/14 PHP
关于Aptana Studio生成自动备份文件的解决办法
2009/12/23 Javascript
javascript 模式设计之工厂模式学习心得
2010/04/27 Javascript
基于jQuery UI CSS Framework开发Widget的经验
2010/08/21 Javascript
js中将字符串转换成json的三种方式
2011/01/12 Javascript
JavaScript快速切换繁体中文和简体中文的方法及网站支持简繁体切换的绝招
2016/03/07 Javascript
js验证框架之RealyEasy验证详解
2016/06/08 Javascript
Bootstrap 实现查询的完美方法
2016/10/26 Javascript
浅谈Angular.js中使用$watch监听模型变化
2017/01/10 Javascript
简单实现js上传文件功能
2017/08/21 Javascript
AngularJS中下拉框的基本用法示例
2017/10/11 Javascript
nodejs 简单实现动态html的方法
2018/05/12 NodeJs
关于微信小程序bug记录与解决方法
2018/08/15 Javascript
[56:18]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第二局
2016/03/05 DOTA
Python使用requests及BeautifulSoup构建爬虫实例代码
2018/01/24 Python
浅谈django 重载str 方法
2020/05/19 Python
详解pandas.DataFrame.plot() 画图函数
2020/06/14 Python
Python2.x与3​​.x版本有哪些区别
2020/07/09 Python
Python 3.9的到来到底是意味着什么
2020/10/14 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
2020/12/04 Python
canvas 下载二维码和图片加水印的方法
2018/03/21 HTML / CSS
德国骆驼商店:ActiveFashionWorld
2017/11/18 全球购物
Electrolux伊莱克斯巴西商店:家用电器、小家电和配件
2018/05/23 全球购物
院药学专业个人求职信
2013/09/21 职场文书
高中毕业自我鉴定
2013/12/19 职场文书
安全大检查反思材料
2014/01/31 职场文书
研究生考核个人自我鉴定
2014/03/27 职场文书
机房搬迁方案
2014/05/01 职场文书
说明书怎么写
2014/05/06 职场文书
应届大学生自荐书
2014/06/17 职场文书
奶茶店创业计划书
2014/08/14 职场文书
优秀少先队辅导员事迹材料
2014/12/24 职场文书