本篇文章给大家介绍,ThinkPHP异常处理、事务处理(事务回滚),用购买下订单减库存的案例分析,希望对大家在工作和学习中有所帮助。
1、Mysql建表引擎使用InnoDB,支持事务回滚。
2、代码案例:
try{ // 异常处理
M()->startTrans(); // 开启事务
$res = M('Good')->where(array('id'=>1))->setDec('good_num',1);
if(!$res){
throw new \Exception('商品不存在'); // 抛出异常
}
$res2 = M('Order')->add(array('num'=>1));
if(!$res2){
throw new \Exception('购买失败'); // 抛出异常
}
M()->commit(); // 执行
echo '购买成功';
}catch (\Exception $e){
M()->rollback(); // 回滚
echo $e->getMessage();
}
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对北漂的程序猿的支持。