2016-04-12 2 views
0

Я дата ввода типа данных шпагатаCodeigniter запрос транзакция не может откатить

$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

попробуйте заменить '$ this-> db-> trans_begin,' 'с этим $ this-> db-> trans_start();'. – Nagendra

+0

i после [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 $ this-> db-> trans_begin(); \t \t \t $ this-> db-> insert ('subcategory', $ data); \t \t \t \t $ this-> db-> trans_complete(); \t \t \t \t, если ($ this-> db-> trans_status() === FALSE) { \t \t \t $ this-> 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

Вы уверены, что имя переменной и имя поля в таблице db правильно? – Hirson

Смежные вопросы