2016-04-12 59 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