您的位置:首页 > 编程语言 > PHP开发

php中的mysql事务处理

2016-08-31 10:24 405 查看
这里我用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事务处理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php thinkphp mysql 事务