❶ 請問在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結束了,事務還沒結束的