这篇文章给大家介绍的内容是关于CI框架下开启事务的代码分析,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
<?php // 开启事务,CI框架 $this->Systems_model->base_connect(); $this->Systems_model->db->initialize(); $this->Systems_model->db->trans_begin(); try { $rs = $this->Systems_model->Update($data, $condition, 'user', false); if (!$rs) { throw new Exception("用户信息修改失败"); } if ($rs) { // 删除用户角色中间表中的对应ID数据 重新插入 $delRes = $this->Systems_model->delete_user_role($id); if ($delRes) { foreach ($roles as $k => $v) { $roleData['iUserID'] = $id; $roleData['sRoleID'] = $v; $res = $this->Systems_model->Save($act, $roleData, 'user_role', false); } } else { throw new Exception("改变原有的角色失败"); } if ($res) { if ($this->Systems_model->db->trans_status() === FALSE) { $this->Systems_model->db->trans_rollback(); } else { $this->Systems_model->db->trans_commit(); } getPower(true);// 修改成功后会更新登录者的用户权限 $this->Systems_model->base_close(); outPrintApiJson(0, '修改成功'); } else { throw new Exception("修改角色失败"); } } } catch (Exception $e) { $this->Systems_model->db->trans_rollback(); $this->Systems_model->base_close(); $msg = $e->getMessage(); outPrintApiJson(1, $msg); exit; }
相关文章推荐:
以上是CI框架下开启事务的代码分析的详细内容。更多信息请关注PHP中文网其他相关文章!