tp5 当更新数库据影响行数为0时,事务没有回滚
tp5 sql语句没有出错,不是执行回滚
解决方法,在每个sql数据执行返回结果,自已判断,返回错误结果
// 启动事务 Db::startTrans(); try{ $mid = Db::name('goods_merchant')->insertGetId($data); if($mid == false){ return json(['sta'=>0,'msg'=>'注册失败']); } $res = Db::name('goods_member')->where('id',$userid)->update(['mid'=>$mid]); if($res == 0){ return json(['sta'=>0,'msg'=>'注册失败']); } Db::commit(); // 提交事务 } catch (\Exception $e) { Db::rollback();// 回滚事务 throw($e); //抛出错误 }
$res = Db::name('goods_member')->where('id',$userid)->update(['mid'=>$mid]);
判断$res 等于0时,返回错误结果 return json(['sta'=>0,'msg'=>'注册失败']);