Maison > Article > développement back-end > Analyse du code des transactions d'ouverture dans le cadre CI
Cet article vous présente l'analyse du code des transactions d'ouverture dans le cadre CI. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.
<?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; }
Articles connexes recommandés :
Explication détaillée de l'espace de noms en PHP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!