欢迎光临
我们一直在努力

thinkphp3.2.x和thinkphp5事务处理实例比较

建站超值云服务器,限时71元/月

thinkphp3.2.x和thinkphp5事务处理有很大的区别,这里列出来它们两个的区别。

一、thinkphp3.2.x事务处理实例
//事务处理
M()->startTrans();//开启事务
$result = true;
/*以下进行相关的业务逻辑操作*/
…… 如果出现错误,将$result=false;正确就不用处理
/*以上进行相关的业务逻辑操作*/
if(!$result)
{
M()->rollback();//回滚
$this->error(‘错误提示’);
}
M()->commit();//事务提交

二、thinkphp5事务处理实例
// 启动事务
Db::startTrans();
try{
    /*以下进行相关的业务逻辑操作*/
    …… 
    /*以上进行相关的业务逻辑操作*/
    // 提交事务
    Db::commit();    
} catch (\Exception $e) {
    // 回滚事务
    Db::rollback();
}
如果出现Class ‘app\index\model\Db’ not found这个错误,需要加上use think\DB;

以上就是两者的区别

注意:如果程序没有错误,但数据没有写入数据库中,这可能是你的数据库使用ENGINE=MyISAM引擎。

因为在mysql中使用事务处理的话,需要数据库引擎支持事务处理。MySQL的MyISAM引擎不支持事务处理,需要使用InnoDB引擎。去数据库中设计中将ENGINE=MyISAM修改成ENGINE=InnoDB即可


原创文章,转载请注明来源www.aspbc.com,谢谢。

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » thinkphp3.2.x和thinkphp5事务处理实例比较
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址