PHP中try{}catch{}的用法及异常处理.对数据库的事物支持

 public  function test1()
    {
        
            Db::startTrans();
            // 事务
            try{
            // 第1条数据更新id 18
            $a=Db::name('user')->where("id", 15)->update(['ledou' => 8888888888]);
            // 判断是否更新成功
                if (!$a) {
                throw new \Exception("第1条数据更新失败");
                }
                // 第2条数据更新 id 9
                $b= Db::name('order')->where('id',9)
                        ->update(['status' => 8]);
                // 判断是否更新成功
                if (!$b) {
                    throw new \Exception("第2条数据更新失败");
                    }
                    // 执行提交操作
                Db::commit();
                }catch(\Exception $e){
                // 回滚事务
                Db::rollback();
                // 获取提示信息
                dump($e->getMessage());
                
                }
                if ($a&$b) {
                
                 return json(['code' => 1, 'msg' => '成功']);
                }else{
                 return json(['code' => 0, 'msg' => '失败']);
                
                }
        
    }

posted @ 2019-09-26 09:14  飘柔2019  阅读(1804)  评论(0编辑  收藏  举报