【PHP-如何在MySQL的Silverstripe 3.3中使用事务?】教程文章相关的互联网学习教程文章

thinkphp 多表 事务详解

如下所示: 代码如下:function makeAcquire($nUsers,$nAwards) { //更新数据库 $tranDb = new Model(); $tranDb->startTrans(); for($i = 0; $i < sizeof($nUsers); $i++) { //更新表Acquire $flagAc = $tranDb->table('Acquire')->add($acquire); //更新表Users $where = array('u_id'=>$nUsers[$i]['u_id']); $flagU = $tranDb->table('Users')->where($where)->setInc('u_man_...

解析php mysql 事务处理回滚操作(附实例)

很多新手在进行项目过程中,会碰到这样一种情况,如:论坛扣币项目中,用户支付论坛币的时候如果突然断网、电脑死机、停电、等其它自然灾害时,导致本次交易没有成功(即用户的币已经扣掉了,但是服务器数据库中没有消费记录等其它情况),这种情况应该怎么样进行处理呢? 在这个时候,我们可以用Mysql事务回滚来进行处理,那代码怎么写呢? 那下面我就来说一说这个mysql事务回滚应该怎么处理。 首先MYSQL中只有INNODB和BDB类型的...

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){ $mysqli->commit(); echo ok;}else{ echo err; $mysqli->rollback();} 在PHP中,mysqli 已经很好的封装了mysql事务的...

PHP中执行MYSQL事务解决数据写入不完整等情况

近来稍有时间研究了下MYSQL中的事务操作,在很多场合下很是适用,譬如在注册的时候需要初始化很多张关联表的时候,问答回复的时候需要至少同时操作两张表,这些都会在某些时候只能成功更新一张表,而另外的SQL语句出现错误,正常的操作会导致初始化了一张表 ,其他的都木有能初始化,这个时候就会导致用户表里的用户信息已经执行插入,导致提示注册失败,但是用户已经注册了部分信息,这个时候需要程序员去数据库删除相应的数据是一...

php事务处理实例详解

一、php事务处理概述: 事务:是若干事件的集合 事务处理:当所有事件执行成功,事务才执行;若有任何一个事件不能成功执行,事务的其它事件也不被执行。 只要你的MySQL版本支持BDB或InnoDB表类型,那么你的MySQL就具有事务处理的能力。这里面,又以InnoDB表类型用的最多,虽然后来发生了诸如Oracle收购InnoDB等令MySQL不爽的事情,但是这类商业事件与技术无关,下面就以InnoDB表类型为例简单说一下MySQL中的事务处理。 二、php事务处理...

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);//提交事务如果一段事...

PHP操作MySQL事务实例

本文实例讲述了PHP操作MySQL事务的方法,分享给大家供大家参考。具体方法如下: 一般来说,事务都应该具备ACID特征。所谓ACID是Atomic(原子性),Consistent(一致性),Isolated(隔离性),Durable(持续性)四个词的首字母所写,下面以“银行转帐”为例来分别说明一下它们的含义: ① 原子性:组成事务处理的语句形成了一个逻辑单元,不能只执行其中的一部分。换句话说,事务是不可分割的最小单元。比如:银行转帐过程中,必须...

php实现mysql事务处理的方法

本文实例讲述了php实现mysql事务处理的方法。分享给大家供大家参考。具体分析如下: 要实现本功能的条件是环境 mysql 5.2 /php 5 支持事务的table 类型,需要InnoDB,有了这些条件你就可以做上面的实现了,这个事物回滚操作是大项目经常用到的,像银行,电子商务等都会用到,有需要的朋友可以参考一下. 近期项目软件升级到支持事务处理,做个示例供大家学习参考. 环境 mysql 5.2 /php 5 支持事务的table 类型 需要InnoDB php mysql 事务处...

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", "root", "root", array(PDO::ATTR_AUTOCOMMIT=>0));/...

php+mysqli事务控制实现银行转账实例

本文实例讲述了php+mysqli事务控制实现银行转账的方法。分享给大家供大家参考。具体分析如下: 事务控制,也就是说所有的语句执行成功后,才会提交。否则,如果前面有语句执行成功,而后面没有执行成功,则回滚到执行之前的状态。通过银行转账的案例来说明这个应用。一个账号转了钱出去,另一个账号必须有钱转入,这样才算成功。 代码如下: <?php //1、创建数据库连接对象 $mysqli = new MySQLi("localhost","root","123456","liu...

php+Mysqli利用事务处理转账问题实例

本文实例讲述了php+Mysqli利用事务处理转账问题的方法。分享给大家供大家参考。具体实现方法如下: <?php header("Content-type:text/html; charset=utf-8"); $mysqli = new mysqli("localhost", "root", "064319", "php"); $mysqli->set_charset("utf8"); if($mysqli->connect_errno) { die(数据库连接失败.$mysqli->connect_error); } $mysqli->autocommit(false); //自动提交模式设为false $flag = true; //事务是否成功执行的标...

PHP+Mysql基于事务处理实现转账功能的方法

本文实例讲述了PHP+Mysql基于事务处理实现转账功能的方法。分享给大家供大家参考。具体如下: <?phpheader("Content-Type:text/html;charset=utf-8");$mysqli=new mysqli("localhost","root","","test");if(mysqli_connect_errno()){printf("连接失败:%s<br>",mysqli_connect_error());exit();}$success=TRUE;$price=8000;$result=$mysqli->query("select cash from account where name=userA");while($row=$result->fetch_assoc()...

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: . $msg ); } mysql_select_db ( $db_config ["data"], $mysqlrl ) or die ( "error: 数据库异常" ); mysql_query ( "SET NAMES utf8" ); dat...

PHP中PDO的事务处理分析

本文实例分析了PHP中PDO的事务处理。分享给大家供大家参考,具体如下: 事务处理具有四个特性:原子性、一致性、独立性、持久性。 并不是所有的数据库都支持事务处理的,PDO 为能够执行事务处理的数据库提供事务支持。 配置事务处理需注意: 1、关闭 PDO 的自动提交; $pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, false);2、开启一个事务需要的方法; $pdo->beginTransaction(); // 开启一个事务 $pdo->commit(); // 提交事务 $pdo-...

php结合mysql与mysqli扩展处理事务的方法

本文实例讲述了php结合mysql与mysqli扩展处理事务的方法。分享给大家供大家参考,具体如下: 以下只是展示如何应用,具体用的时候要加上判断,如果都执行成功则提交,否则回滚 看前先分清mysqli与mysql扩展是不一样的 mysqli扩展处理事物: $mysqli=new mysqli(localhost,root,123456,test); $mysqli->autocommit(false);//开始事物 $query="update a set money=money+30 where a_id=1"; $mysqli->query($query); $query="update b...