天天躁日日躁狠狠躁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及解決方法,轉載需保留來源!

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

主站蜘蛛池模板: 小SB几天没做SAO死了H | 99亚偷拍自图区亚洲 | 红桃传媒少妇人妻网站无码抽插 | 免费看男人J放进女人J无遮掩 | 伦理片午夜在线视频 | 欧美午夜福利主线路 | 日韩男明星 | 免费看毛片的网址 | 色欲久久精品AV无码 | 最近中文字幕2018MV高清在线 | 快播金瓶梅 | 精子网久久国产精品 | 果冻传媒2021一二三在线观看 | 纯肉宠文高h一对一 | 欧洲兽交另类AVXXX | 亚洲精品久久区二区三区蜜桃臀 | 精品国产99久久久久久麻豆 | 欧美高清vivoesond在线播放 | 欧美成人无码A区在线观看免费 | 九九九精品国产在线 | 黑色丝袜美腿美女被躁翻了 | 亚洲久久少妇中文字幕 | 国产热久久精 | 肉多荤文高h羞耻校园 | 达达兔欧美午夜国产亚洲 | 亚洲精品成人AV在线观看爽翻 | 国产免费午夜高清 | 国产午夜电影在线观看不卡 | 欧美互交人妖247 | 三级色视频 | 色在线视频亚洲欧美 | 国内精品久久久久久西瓜色吧 | 亚洲熟女丰满多毛XXXXX | 儿媳妇完整版视频播放免费观看 | 亚洲欧美综合在线中文 | 人妻无码AV中文系列 | rio 快播 | 蜜芽一二三区 | 国产 交换 丝雨 巅峰 | 蛇缚dvd| 香蕉人人超人人超碰超国产 |