这里我用thinkphp框架为实例。用的是php中PDO的方法。
1、需要引入DB。
thinkphp中用use Think\Db;
当前的代码是正确的,可以成功添加两条数据
现在我把第二条数据改动一下
$data2 = $admin->add($data);
这条数据是无法添加到数据库的;
运行结果当然是:添加失败;
但是我们如果不用事务的话,当第二条数据出错时,运行结果是“添加失败”,可是第一条数据还是会添加到数据库的,所以这就是事务的重要性;
事务的详细思路和仔细讲解请参阅另外一篇文章:java中的mysql事务处理
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事务处理