php中的mysql事务处理

这里我用thinkphp框架为实例。用的是php中PDO的方法。
1、需要引入DB。
thinkphp中用use Think\Db;

php中中可以直接用new 创建PDO对象;


public function test(){
    	$admin = D('admin');
    	Db::startTrans();//开启事务
    	$data1['user'] = 'xiaoming';
    	$data1['password'] = '123456';
    	$data2['user'] = 'xiaowang';
    	$data2['password'] = '456789';
    	$data1 = $admin->add($data1);
	$data1 = $admin->add($data2);
	if($data1 && $data2){
		Db::commit();//提交事务
		$this->success('添加成功','hello',3);
	}else{ 
		Db::rollback();//事务回滚$this->error('添加失败');
	} 
}

当前的代码是正确的,可以成功添加两条数据
现在我把第二条数据改动一下
$data2 = $admin->add($data);
这条数据是无法添加到数据库的;
运行结果当然是:添加失败;
但是我们如果不用事务的话,当第二条数据出错时,运行结果是“添加失败”,可是第一条数据还是会添加到数据库的,所以这就是事务的重要性;
事务的详细思路和仔细讲解请参阅另外一篇文章:java中的mysql事务处理

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值