thinkphp 多表 事務詳解
更新時間:2013年06月17日 12:31:14 作者:
本篇文章是對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_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();
}
}
復制代碼 代碼如下:
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();
}
}
相關文章
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的簡易安裝配置
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的簡易安裝配置...2006-11-11