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'=>'注册失败']);