当前位置:Gxlcms > php框架 > thinkPHP框架中执行事务的方法示例

thinkPHP框架中执行事务的方法示例

时间:2021-07-01 10:21:17 帮助过:38人阅读

本文实例讲述了thinkPHP框架中执行事务的方法。分享给大家供大家参考,具体如下:

  1. function tran(){
  2. //定义事务成功失败的标志
  3. $mark = true;
  4. //1. 实例化模型
  5. $model = D('student');
  6. //2. 开启事务处理
  7. $model->startTrans();
  8. //3. ls减少2000
  9. $sql = "update student set money=money-2000 where uname='ls'";
  10. $result = $model->execute($sql);
  11. //判断sql执行是否成功,如果失败,则将$mark改为false
  12. if(!$result){
  13. $mark = false;
  14. }
  15. //4. zs增加2000
  16. $sql = "update student set money=money+2000 where uname='zs'";
  17. $result = $user->execute($sql);
  18. //判断sql执行是否成功,如果失败,则将$mark改为false
  19. if(!$result){
  20. $mark = false;
  21. }
  22. $mark = false; //暂时强制改为false,测试回滚效果
  23. //5. 提交事务
  24. //判断$mark的值,为ture则提交,为false则回滚
  25. if($mark){
  26. $user->commit();
  27. } else {
  28. $user->rollback();
  29. }
  30. }

TP中事务相关的方法: 都是在Model.class.php中定义好的

startTran(): 开启事务处理

Commit(): 提交事务

Rollback(): 回滚

当需要执行的事务是在不同的sql表中时,只需要执行两个sql的model定义的不同即可

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

人气教程排行