当前位置 : 主页 > 编程语言 > java >

tp5/tp6 完整事务/异常例子(数据)分布式/单库/多库

来源:互联网 收集:自由互联 发布时间:2022-07-22
1、操作数据库的[单库] // 启动事务 Db::startTrans(); try { throw new \Exception('插入数据失败!'); $code=200;$msg="成功"; // 提交事务 Db::commit(); } catch (\Exception $e) { // 回滚事务 Db::rollback(); $code=-200;


1、操作数据库的[单库]

// 启动事务
Db::startTrans();
try {

throw new \Exception('插入数据失败!');
$code=200;$msg="成功";
// 提交事务
Db::commit();
} catch (\Exception $e) {
// 回滚事务
Db::rollback();
$code=-200;
$msg=$e->getMessage();
}

return array('code'=>$code,'msg'=>$msg);

事务里边不能用db()数据库助手

2、操作数据库的[多个数据库](分布式)

// 启动事务
Db::connect('mysql')->startTrans();
try {

throw new \Exception('插入数据失败!');
$code=200;$msg="成功";
// 提交事务
Db::connect('mysql')->commit();
} catch (\Exception $e) {
// 回滚事务
Db::connect('mysql')->rollback();
$code=-200;
$msg=$e->getMessage();
}

return array('code'=>$code,'msg'=>$msg);

注意:

tp5/tp6 完整事务/异常例子(数据)分布式/单库/多库_php

Db::connect('mysql')->startTrans();

mysql名称是根据数据库配置文件(config/database.php)来的

tp5/tp6 完整事务/异常例子(数据)分布式/单库/多库_composer_02

3、异常操作

TP6 一定要引用  use think\facade\Env;

try {
//主体
} catch (\Exception $e) {
// 这是进行异常捕获
return ['code'=>-200,'msg'=>$e->getMessage()];
}

return json(['code' => $code,'msg' =>$msg]); public function UserLogin($username,$password)
{
try {
if(empty($username) || empty($password)){
throw new \Exception("用户名/密码为空!");
}

$code=200;$msg='成功';
} catch (\Exception $e) {
// 这是进行异常捕获
$code=-200;$msg=$e->getMessage();
}

return ['code' => $code,'msg' =>$msg];

}
网友评论