解析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 相关文章推荐
Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
Nov 18 PHP
php网站判断用户是否是手机访问的方法
Nov 01 PHP
php反射应用示例
Feb 25 PHP
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
Nov 18 PHP
PHP使用memcache缓存技术提高响应速度的方法
Dec 26 PHP
PHP PDO fetch 模式各种参数的输出结果一览
Jan 07 PHP
php+mysql数据库查询实例
Jan 21 PHP
无需数据库在线投票调查php代码
Jul 20 PHP
php解决和避免form表单重复提交的几种方法
Aug 31 PHP
浅谈PHP中的面向对象OOP中的魔术方法
Jun 12 PHP
基于win2003虚拟机中apache服务器的访问
Aug 01 PHP
php中的buffer缓冲区用法分析
May 31 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
实用函数7
2007/11/08 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
2016/10/22 PHP
PHP5.5安装PHPRedis扩展及连接测试方法
2017/01/22 PHP
详解PHP函数 strip_tags 处理字符串缺陷bug
2017/06/11 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
PHP给源代码加密的几种方法汇总(推荐)
2018/02/06 PHP
JavaScript 利用StringBuffer类提升+=拼接字符串效率
2009/11/24 Javascript
清空上传控件input file的值
2010/07/03 Javascript
理解JavaScript中的对象 推荐
2011/01/09 Javascript
Jquery通过Ajax方式来提交Form表单的具体实现
2013/11/07 Javascript
Javascript验证用户输入URL地址是否为空及格式是否正确
2014/10/09 Javascript
jquery实现垂直和水平菜单导航栏
2020/08/27 Javascript
AngularJs 指令详解及示例代码
2016/09/01 Javascript
微信小程序前端源码逻辑和工作流
2016/09/25 Javascript
微信小程序 wxapp内容组件 progress详细介绍
2016/10/31 Javascript
js中Number数字数值运算后值不对的解决方法
2017/02/28 Javascript
vue.js中过滤器的使用教程
2017/06/08 Javascript
vue.js路由跳转详解
2017/08/28 Javascript
JavaScript canvas实现雪花随机动态飘落
2020/02/08 Javascript
对于Python装饰器使用的一些建议
2015/06/03 Python
Python中的os.path路径模块中的操作方法总结
2016/07/07 Python
python中正则表达式的使用方法
2018/02/25 Python
对Python3 goto 语句的使用方法详解
2019/02/16 Python
初探利用Python进行图文识别(OCR)
2019/02/26 Python
python实现身份证实名认证的方法实例
2019/11/08 Python
在flask中使用python-dotenv+flask-cli自定义命令(推荐)
2020/01/05 Python
python使用建议与技巧分享(二)
2020/08/17 Python
css3 transform导致子元素固定定位变成绝对定位的方法
2020/03/06 HTML / CSS
Html5嵌入钉钉的实现示例
2020/06/04 HTML / CSS
Ray-Ban雷朋美国官网:全球领先的太阳眼镜品牌
2016/07/20 全球购物
Paradigit比利时电脑卖场:购买笔记本、电脑、平板和外围设备
2016/11/28 全球购物
abstract class和interface有什么区别
2013/08/04 面试题
财务部岗位职责
2013/11/19 职场文书
生产厂厂长岗位职责
2013/12/25 职场文书
幼儿园招生广告
2014/03/19 职场文书
2015年度公共机构节能工作总结
2015/05/26 职场文书