淺談PHP中try{}catch{}的使用方法

try {
    Db::startTrans();
    // 獲取$amount 條數據
    $list = Db::table("tp_address")
        ->lock(true)
        ->limit(200)
        ->column('telephone');
    // dump($list);exit;
    if ($list) {
        $ee = Db::table('tp_address')
            ->where('telephone', 'in', $list)
            ->delete();
        $result = ['code'=>0, 'msg'=>'下載成功', 'data'=>$list];
    } else {
        // 數據下載完了,提示上傳數據
        $result = ['code'=>0, 'msg'=>'下載失敗,沒有數據了,請上傳數據'];
    }
    Db::commit();
    return json($result);
} catch(Exception $e) {
    Db::rollback();
    // 代碼異常
    $result = ['code'=>400, 'msg'=>$e->getMessage()];
    return json($result);
}

常用於InnoDB

事務操作,回滾

注意:Db::startTrans();// 開啓事務

Db::commit(); //提交事務

Db::rollback);// 回滾事務

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章