2016-04-12 56 views
0

我可以輸入數據類型的日期字符串笨交易查詢不能回滾

$data = array(
      'date_added' => $this->input->post('category') 
      ); 
      $this->um->add_data($data); 
      redirect('/subcategory'); 

但爲什麼無效數據無法恢復,值數據仍然插入我的表

function add_data($data){ 
     $this->db->trans_begin(); 
     $this->db->insert('subcategory', $data); 
     if($this->db->trans_status() === FALSE){ 
      $this->db->trans_rollback(); 
     }else{ 
      $this->db->trans_commit(); 
     } 
    } 
+0

嘗試更換'$這 - > DB-> trans_begin;'與此'$這 - > DB-> trans_start();'。 – Nagendra

+0

我在[子類別]「Running」中[https://ellislab.com/codeigniter/user-guide/database/transactions.html](https://ellislab.com/codeigniter/user-guide/database/transactions.html))交易手動」 – Trisna

回答

0

試試這個:

function add_data($data){ 
    $this->db->trans_start(); 
    $this->db->insert('subcategory', $data); 
    $this->db->trans_complete(); 
} 

如果您的輸入過程出錯,它會自動回滾您的交易。

參考Here

+0

記錄還是插入我的價值沒有 – Trisna

+0

表更新我的模型就這樣 '函數add_data工具($數據){ \t \t $這個 - > DB-> trans_begin(); \t \t \t \t $ this-> db-> insert('subcategory',$ data); \t \t \t \t $ this-> db-> trans_complete(); \t \t \t 如果\t($這 - > DB-> TRANS_STATUS()=== FALSE){ \t \t \t $這 - > DB-> trans_rollback(); \t \t \t return FALSE; \t \t} else { \t \t \t $ this-> db-> trans_commit(); \t \t \t return TRUE; \t \t} \t}' 時的日期類型輸入字符串,記錄仍然插入表不能回滾和返回值是TRUE。 – Trisna

+0

您確定數據庫表中的變量名稱和字段名稱是否正確? – Hirson