PHP使用Mysql事务实例解析
本文实例讲解了PHP使用MySQL事物的实例,并备有注释加以详细说明。分享给大家供大家参考之用。
具体实例如下所示:
<?php //数据库连接 $conn = mysql_connect('localhost', 'root', ''); mysql_select_db('test', $conn); mysql_query("SET NAMES GBK"); /* 支持事务的表必须是InnoDB类型 一段事务中只能出现一次: mysql_query('START TRANSACTION');//开始事务 mysql_query(' ROLLBACK ');//回滚事务 mysql_query('COMMIT');//提交事务 如果一段事务中出现多次回滚事务,则在,提交事务时只将第一次回滚前至开始事务后对数据库的所有操作取消,第一次回滚后至提交事务前所有对数据库操作仍将有效,所以一般将回滚语句仅放在提交事务语句前 如果一段事务无提交语句,则从开始事务时以下的所有对数据库操作虽执行(执行方法返回对错),但对数据库无影响,但是在执行下段开始事务语句时,前段事务自动提交 */ mysql_query('START TRANSACTION'); $isBad = 0; $ins_testTable1 = "INSERT INTO testtable1(NAME,age)VALUES('first',23)"; if(!mysql_query($ins_testTable1)){ $isBad =1; } //插入语句字段名有错 $ins_testTable2 = "INSERT INTO testtable1(NAME,ages)VALUES('second','24')"; if(!mysql_query($ins_testTable2)){ $isBad =1; } if($isBad == 1){ echo $isBad; mysql_query('ROLLBACK '); } mysql_query('COMMIT'); mysql_close($conn); ?>
希望本文所述实例对大家PHP+MySQL程序设计的学习有所帮助。
相关推荐
-
php实现mysql事务处理的方法
本文实例讲述了php实现mysql事务处理的方法.分享给大家供大家参考.具体分析如下: 要实现本功能的条件是环境 mysql 5.2 /php 5 支持事务的table 类型,需要InnoDB,有了这些条件你就可以做上面的实现了,这个事物回滚操作是大项目经常用到的,像银行,电子商务等都会用到,有需要的朋友可以参考一下. 近期项目软件升级到支持事务处理,做个示例供大家学习参考. 环境 mysql 5.2 /php 5 支持事务的table 类型 需要InnoDB php mysql 事务处理实现程
-
php+mysql事务rollback&commit示例
mysql_query("BEGIN");//开始一个事务 mysql_query("SET AUTOCOMMIT=0"); //设置事务不自动commit $insert="INSERT INTO userinfo VALUES ('aa12','aa','1','aaa')"; mysql_query($insert); mysql_query("COMMIT");//非autocommit模式,必须手动执行COMMIT使
-
php+Mysqli利用事务处理转账问题实例
本文实例讲述了php+Mysqli利用事务处理转账问题的方法.分享给大家供大家参考.具体实现方法如下: <?php header("Content-type:text/html; charset=utf-8"); $mysqli = new mysqli("localhost", "root", "064319", "php"); $mysqli->set_charset("utf8&
-
PHP+Mysql基于事务处理实现转账功能的方法
本文实例讲述了PHP+Mysql基于事务处理实现转账功能的方法.分享给大家供大家参考.具体如下: <?php header("Content-Type:text/html;charset=utf-8"); $mysqli=new mysqli("localhost","root","","test"); if(mysqli_connect_errno()) { printf("连接失败:%s
-
PHP中实现MySQL嵌套事务的两种解决方案
一.问题起源 在MySQL的官方文档中有明确的说明不支持嵌套事务: 复制代码 代码如下: Transactions cannot be nested. This is a consequence of the implicit commit performed for any current transaction when you issue a START TRANSACTION statement or one of its synonyms. 但是在我们开发一个复杂的系统时难免会无意中在
-
php下pdo的mysql事务处理用法实例
本文实例讲述了php下pdo的mysql事务处理用法.分享给大家供大家参考.具体分析如下: php+mysql事务处理的几个步骤: 1.关闭自动提交 2.开启事务处理 3.有异常就自动抛出异常提示再回滚 4.开启自动提交 注意:mysql只有这个InnoDB驱动是支持事务处理的,默认MyIsAM驱动不支持,下面是实例代码: 复制代码 代码如下: <?php try{ $pdo=new pdo("mysql:host=localhost;dbname=mydb&quo
-
PHP mysql事务问题实例分析
本文实例分析了PHP的mysql事务问题.分享给大家供大家参考,具体如下: 对于myisam数据库,可以控制事务的进行: $mysqlrl = mysql_connect ( $db_config ["host"], $db_config ["user"], $db_config ["pass"], true ); if (! $mysqlrl) { $msg = mysql_error (); die ( 'Could not connect:
-
PHP操作MySQL事务实例
本文实例讲述了PHP操作MySQL事务的方法,分享给大家供大家参考.具体方法如下: 一般来说,事务都应该具备ACID特征.所谓ACID是Atomic(原子性),Consistent(一致性),Isolated(隔离性),Durable(持续性)四个词的首字母所写,下面以"银行转帐"为例来分别说明一下它们的含义: ① 原子性:组成事务处理的语句形成了一个逻辑单元,不能只执行其中的一部分.换句话说,事务是不可分割的最小单元.比如:银行转帐过程中,必须同时从一个帐户减去转帐金额,并加到另一个
-
PHP mysql与mysqli事务使用说明 分享
mysqli封装了诸如事务等一些高级操作,同时封装了DB操作过程中的很多可用的方法. 应用比较多的地方是 mysqli的事务. 比如下面的示例: 复制代码 代码如下: $mysqli = new mysqli('localhost','root','','DB_Lib2Test');$mysqli->autocommit(false);//开始事物$mysqli->query($sql1);$mysqli->query($sql2);if(!$mysqli->errno){ $m
-
php+mysqli事务控制实现银行转账实例
本文实例讲述了php+mysqli事务控制实现银行转账的方法.分享给大家供大家参考.具体分析如下: 事务控制,也就是说所有的语句执行成功后,才会提交.否则,如果前面有语句执行成功,而后面没有执行成功,则回滚到执行之前的状态.通过银行转账的案例来说明这个应用.一个账号转了钱出去,另一个账号必须有钱转入,这样才算成功. 代码如下: <?php //1.创建数据库连接对象 $mysqli = new MySQLi("localhost","root","1
-
php结合mysql与mysqli扩展处理事务的方法
本文实例讲述了php结合mysql与mysqli扩展处理事务的方法.分享给大家供大家参考,具体如下: 以下只是展示如何应用,具体用的时候要加上判断,如果都执行成功则提交,否则回滚 看前先分清mysqli与mysql扩展是不一样的 mysqli扩展处理事物: $mysqli=new mysqli('localhost','root','123456','test'); $mysqli->autocommit(false);//开始事物 $query="update a set money=m
随机推荐
- AngularJS实现Input格式化的方法
- javascript Array数组对象的扩展函数代码
- Office文档在线编辑的一个实现方法
- Lua函数用法研究
- 动态SQL中返回数值的实现代码
- Angular如何引入第三方库的方法详解
- UBB 转换函数演示 (经典论坛)
- Jexcel实现按一定规则分割excel文件的方法
- perl AnyEvent简单介绍和入门知识
- javascript 设为首页与加入收藏兼容多浏览器代码
- PHP实现的Redis多库选择功能单例类
- FCKeditor 2.6.5 ASP环境安装配置使用说明
- mysql 列转行的技巧(分享)
- 关于预加载InstantClick的问题解决方法
- CMD命令行下修改网络IP设置的方法
- MongoDB学习笔记—Linux下搭建MongoDB环境
- 自动关闭的层
- node作为中间服务层如何发送请求(发送请求的实现方法详解)
- JavaScript分步实现一个出生日期的正则表达式
- python+opencv轮廓检测代码解析