php事务处理-PDO中事务处理的具体介绍

2023-08-29 0 960 百度已收录

PDO中事务处理的具体介绍

事务由一系列查询和/或更新语句组成。 使用begin和start transaction启动事务,使用rollback回滚事务,使用commit提交事务。 启动一个事务后,可以有多个SQL查询或更新语句。 每一条SQL提交执行后,都应该有一句判断是否正确执行,以决定下一步是否要回滚。 如果全部执行正确,交易最终会被提交。 一旦事务回滚,数据库将保持事务启动前的状态。 就好像编辑过的文件没有被读取并退出php事务处理,但仍然保持了文件的原始状态。 因此,事务可以看作是原子操作,事务中的SQL要么全部执行,要么根本不执行。

前两篇文章《PDO中错误处理的方法1-errorCode()方法》、《PDO中错误处理的方法2-errorInfo()方法》我们介绍了PDO中处理错误的方式,所以下面详细介绍一下PDO中的事务处理~

PDO中也可以实现事务处理的功能,其应用方法如下:

(1) 启动事务——beginTransaction()方法。

beginTransaction() 方法会关闭手动提交(自动提交)模式,直到事务提交或回滚后才会恢复。

(2) 提交事务——commit()方法

commit()方法完成事务的提交操作php事务处理,成功则返回true,否则返回false。

(3)事务回滚——rollBack()方法

rollBack()方法执行事务回滚操作。

通过prepare()和execute()方法向数据库添加数据,并通过事务处理机制保证数据能够正确添加到数据库。 具体步骤如下:

创建一个php文件,首先定义数据库连接参数,创建try{...}catch{...}语句,在try{}语句中实例化PDO构造函数,完成与数据库的连接,传递beginTransaction ()方法启动事务,然后定义INSERT添加语句,通过$_POST[]方法获取表单提交的数据,通过prepare()和execute()方法将数据添加到数据库,完成事务提交通过commit(0方法进行操作,最后在catch{}语句中返回错误信息,并通过rollBack()方法执行事务的回滚操作,具体代码如下:

    用户名:
    密码:  
    

 beginTransaction();   //开始事务
    $query="insert into `user`(username,password) VALUES ('$name','$password')";//需要执行的sql语句
    $res=$pdo->prepare($query);//准备查询语句
    $res->execute();            //执行查询语句,并返回结果集
    if($res->errorCode()){
        echo "数据添加成功";
    }else{
        echo "数据添加失败";
    }
    $pdo->commit();            //执行事务的提交操作
}catch (PDOException $e){
    die("Error!:".$e->getMessage().'
'); $pdo -> rollBack(); //执行事务的回滚 } } ?>

登录复制

最终输出结果如下:

看完我们前面介绍的事务处理,是不是觉得很简单呢? 你可以联系我来巩固你所学的知识。 下一篇我们将继续介绍PDO中的存储过程。 详细内容请阅读《PDO中PDO存储过程的详细介绍》!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 php php事务处理-PDO中事务处理的具体介绍 https://www.wkzy.net/game/180327.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务