关闭

php中的mysql事务处理

标签: phpthinkphpmysql事务
225人阅读 评论(0) 收藏 举报
分类:
这里我用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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:25560次
    • 积分:605
    • 等级:
    • 排名:千里之外
    • 原创:33篇
    • 转载:2篇
    • 译文:0篇
    • 评论:9条
    文章分类
    最新评论