有胆量你就来跟着路老师卷起来! -- 纯干货,技术知识分享
路老师给大家分享PHP语言的知识了,旨在想让大家入门PHP,并深入了解PHP语言。
接着上篇我们来看下PDO数据库的事务处理。
1 PDO中的事务处理
1.1 事务相关概念
事务(transaction)是由查询和更新语句的序列组成。用begin、start_transaction开始一个事务,rollback回滚事务,commit提交事务。在开始一个事务后,可以有若干个SQL查询或更新语句,每个SQL递交执行后,还应该有判断是否正确执行的语句,以确定下一步是否回滚,若都被正确执行则最后提交事务。事务一旦回滚,数据库则保持开始事务前的状态。所以事务可被称为原子操作,事务中的SQL要么全部执行,要么一句也不执行。可以理解为:一荣俱荣一损俱损。
PDO中实现事务处理的方法如下:
- 开启事务:beginTransaction()方法,该方法将关闭自动提交模式(autocommit),直到事务提交或者回滚后才恢复。
- 提交事务:commit()方法,该方法完成事务的提交操作,成功则返回true,失败则返回false。
- 事务回滚:rollback()方法,该方法执行事务的回滚操作。
1.2 事务案例
现有一个问答网站,路飞提出一个问题需要花费10个积分,娜美回答路飞一个问题,且被路飞采纳,则娜美活得10个积分,且两个事件应该同时完成。任何一个事件出错,则回滚到最初的状态。
创建数据库:
创建index.php文件
开启事务,执行事务,如果执行成功提示“操作成功”,否则回滚到初始状态。index.php文件具体代码如下:
执行成功后:
下一篇 cookie与session