❶ 请问在php中如何控制多表事务
php框架中多表事务操作实例,参考如下:
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_count',1);
//更新表Award
$where = array('a_id'=>$nAwards[$i]['a_id']);
$flagA = $tranDb->table('Award')->where($where)->setDec('a_count',1);
}
if($flagAc && $flagU && $flagA)
{
$tranDb->commit();
}
else
{
$tranDb->rollback();
}
}
❷ php 支付时用到了mysql的事务了吗
1、用begin,rollback,commit来实现
begin 开始一个事务
rollback 事务回滚
commit 事务确认
2、直接用set来改变mysql的自动提交模式
MYSQL默认是自动提交的,也就是你提交一个QUERY,它就直接执行!我们可以通过
set autocommit=0 禁止自动提交
set autocommit=1 开启自动提交
来实现事务的处理。
当你用 set autocommit=0 的时候,你以后所有的SQL都将做为事务处理,直到你用commit确认或rollback结束。
❸ php 事务回滚如果不进行commit是否有效
直接用set来改变mysql的自动提交模式MYSQL默认是自动提交的,也就是你提交一个QUERY,它就直接执行!我们可以通过set autocommit=0 禁止自动提交set autocommit=1 开启自动提交当你用 set autocommit=0的时候,你以后所有的SQL都将做为事务处理,直到你用commit确认或rollback结束。
❹ php中的事务有什么作用
严格说这不算是PHP的事务,应该是数据库的事务。
普通的SQL语句如果你UPDATE一个地方就没法恢复了,但用事务去处理的话还可以恢复,也就是事务的回滚。
❺ php mysql 事务怎么写
/**
*启动事务
*@returnbool
*/
publicfunctionbegin()
{
if($this->transDepth==0)
{
$this->query('STARTTRANSACTION');
}
$this->transDepth++;
returnTRUE;
}
/**
*事务提交
*@returnbool
*/
publicfunctioncommit()
{
if($this->transDepth>0)
{
$result=$this->query('COMMIT');
$this->transDepth=0;
if(!$result)die("err:transcommit".mysql_error());
}
returnTRUE;
}
/**
*事务回滚
*@returnbool
*/
publicfunctionrollback()
{
if($this->transDepth>0)
{
$result=$this->query('ROLLBACK');
$this->transDepth=0;
if(!$result)die("err:transcommit".mysql_error());
}
returnTRUE;
}
❻ php 开启mysql事务,会自动提交么
您好,MySQL提交方式autocommit默认开启,这种模式本身就是以每次查询为一次单独的事务。
当开启事务后,直到执行commit语句才会提交,所以不会自动提交,否则我们开启事务也没有意义了呀。
希望能帮到您。
❼ php如何使用事务和存储过程
去掉extention=php_mysqli前的分号 重启apache
mysqli_query 可执行事务和存储过程~
❽ php + mongo实现事务功能
mongodb没用过
开源中国,51CTO,php100,phpchina,168IT,CSDN,程程序员之家
❾ PHP 开启事务后锁的问题
php不手动结束事务,但是php执行完后,也会自动结束的
不可能你php结束了,事务还没结束的