龙行博客

走路看风景,经历看人生,岁月留痕迹,人生留轨迹,17的历史,18的豪情,时间的匆忙,人生的风景,放开心胸往前走,成功再远行,放开理想往前走,梦想再行动。
现在位置:首页 > 编程语言 > PHP > thinkphp防止超卖

thinkphp防止超卖

龙行    PHP    2020-3-13    2489    0评论    
$num = 1;
$good_id = 199758;
$model = Db::name("tettt");
$model->execute("set autocommit=0");
$model->startTrans();
//SELECT data AS old_data, version AS old_version FROM …
$data = Db::name("tettt")->lock(true)->where('id',$good_id)->find();

if(empty($data )){
    return "商品不存在";
}
$total = $data['count'];  //商品库存
if($total< $num){
    return "库存不足";
}
$data['count'] = $total-$num;
$res = $model->where('id',$good_id)->update($data);
if($res){
    $model->commit();
    return "成功购买".$num."个";
}else{
    $model->rollback();
    return "shibai";
}


评论一下 分享本文 赞助站长

赞助站长X

扫码赞助站长
联系站长
龙行博客
  • 版权申明:此文如未标注转载均为本站原创,自由转载请表明出处《龙行博客》。
  • 本文网址:https://www.liaotaoo.cn/343.html
  • 上篇文章:Go流程控制-if、goto、for、switch
  • 下篇文章:Go基础-make,new
  • php
快捷导航
联系博主
在线壁纸
给我留言
四四五五
音乐欣赏
返回顶部