如何示例在thinkPHP框架中执行事务操作?

更新于
2026-09-23 05:33:45
1阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计364个文字,预计阅读时间需要2分钟。

如何示例在thinkPHP框架中执行事务操作?

原文示例:phpfunction tran(){ // 定义事务成功失败的标志 $mark=true;

// 1. 实例化模型 $model=D('student');

// 2. 开启事务 M()->startTrans();}

改写后:phpfunction executeTransaction(){ // 初始化事务标志 $success=true;

如何示例在thinkPHP框架中执行事务操作?

// 实例化学生模型 $studentModel=D('student');

// 启动事务 Model::startTrans();}

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

function tran(){ //定义事务成功失败的标志 $mark = true; //1. 实例化模型 $model = D('student'); //2. 开启事务处理 $model->startTrans(); //3. ls减少2000 $sql = "update student set money=money-2000 where uname='ls'"; $result = $model->execute($sql); //判断sql执行是否成功,如果失败,则将$mark改为false if(!$result){ $mark = false; } //4. zs增加2000 $sql = "update student set money=money+2000 where uname='zs'"; $result = $user->execute($sql); //判断sql执行是否成功,如果失败,则将$mark改为false if(!$result){ $mark = false; } $mark = false; //暂时强制改为false,测试回滚效果 //5. 提交事务 //判断$mark的值,为ture则提交,为false则回滚 if($mark){ $user->commit(); } else { $user->rollback(); } }

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

startTran(): 开启事务处理

Commit(): 提交事务

Rollback(): 回滚

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

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

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

本文共计364个文字,预计阅读时间需要2分钟。

如何示例在thinkPHP框架中执行事务操作?

原文示例:phpfunction tran(){ // 定义事务成功失败的标志 $mark=true;

// 1. 实例化模型 $model=D('student');

// 2. 开启事务 M()->startTrans();}

改写后:phpfunction executeTransaction(){ // 初始化事务标志 $success=true;

如何示例在thinkPHP框架中执行事务操作?

// 实例化学生模型 $studentModel=D('student');

// 启动事务 Model::startTrans();}

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

function tran(){ //定义事务成功失败的标志 $mark = true; //1. 实例化模型 $model = D('student'); //2. 开启事务处理 $model->startTrans(); //3. ls减少2000 $sql = "update student set money=money-2000 where uname='ls'"; $result = $model->execute($sql); //判断sql执行是否成功,如果失败,则将$mark改为false if(!$result){ $mark = false; } //4. zs增加2000 $sql = "update student set money=money+2000 where uname='zs'"; $result = $user->execute($sql); //判断sql执行是否成功,如果失败,则将$mark改为false if(!$result){ $mark = false; } $mark = false; //暂时强制改为false,测试回滚效果 //5. 提交事务 //判断$mark的值,为ture则提交,为false则回滚 if($mark){ $user->commit(); } else { $user->rollback(); } }

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

startTran(): 开启事务处理

Commit(): 提交事务

Rollback(): 回滚

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

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

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