当前位置:首页 > PHP教程 > PHP高级教程

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();
     }
    }



【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!