中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

Codeigniter框架的更新事務(transaction)BUG及解決方法

由于ci事務判斷出錯回滾的條件是語句是否執行成功,而更新操作時,就算影響的條數為0,sql語句執行的結果過仍然為1,因為它執行成功了,只是影響的條數為0。

下面介紹解決這個問題的方法:

對于一次要執行許多的語句的事務

只需在更新操作下根據影響條數是否為0來決定是否會滾即可,下面假設第二條語句為更新操作。

復制代碼 代碼如下:
//采用 Codeigniter 事務的手動模式
    $this->db->trans_strict(FALSE);
    $this->db->trans_begin();
       
    $this->db->query('SELECT ...');//SELECT 操作無需特殊處理
    $this->db->query('INSERT ...');//INSERT 出錯會有 Codeigniter 自動處理
       
    $this->db->query('UPDATE ...');
    if (!$this->db->affacted_rows()) {//上面的 UPDATE 失敗則回滾
        $this->db->trans_rollback();
        //@todo 異常處理部分
        exit();//需要終止或跳出,以免下面的 SQL 代碼繼續執行!
    }
       
    $this->db->query('DELETE ...');
    if (!$this->db->affacted_rows()) {//上面的 DELETE 失敗則回滾
        $this->db->trans_rollback();
        //@todo 異常處理部分
        exit();//需要終止或跳出,以免下面的 SQL 代碼繼續執行!
    }
       
    $this->db->query('SELECT ...');//SELECT 操作無需特殊處理
    $this->db->query('INSERT ...');//INSERT 出錯會有 Codeigniter 自動處理
       
    if ($this->db->trans_status() === TRUE) {
        $this->db->trans_commit();
    } else {
        $this->db->trans_rollback();
        //@todo 異常處理部分
    }

如果一次執行的語句不是很多,可以在最后做一下判斷來決定回滾

若語句中沒有更新操作,用自動事務就可以。

php技術Codeigniter框架的更新事務(transaction)BUG及解決方法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 91视频观看 | 日日干日日操 | 91久久久久久久久 | 亚洲成人免费视频在线 | 一区二区精品 | 日韩精彩视频 | 国产高清在线观看 | 成人一区二| 天天操网 | 国产成人精品免费视频大全最热 | 超碰欧美| 精品免费视频 | 伊人网在线综合 | 古装人性做爰av网站 | .国产精品成人自产拍在线观看6 | 精品久久久久久亚洲综合网 | 欧美日韩在线观看一区 | 成人精品一区二区三区中文字幕 | www国产成人免费观看视频,深夜成人网 | 国产精品久久久久久久久久久久久 | 性国产丰满麻豆videosex | 国产日韩欧美一区 | 九九色综合| www..com18午夜观看 | 91精品久久久久久久久 | 久久av.com| 在线欧美视频 | 亚洲黄色av | 欧美日韩国产精品激情在线播放 | 午夜视频在线播放 | 夜夜操天天艹 | 一区二区免费视频 | 9porny九色视频自拍 | 九九色综合 | 国产福利免费视频 | 国产成人一区二区三区精 | 国产一区二区三区不卡av | 国产精品777一区二区 | 成人午夜高清 | 精品国产欧美一区二区三区不卡 | 国产精品91视频 |