2012-03-06 2 views
0

Я обновляю таблицу, как я могу проверить, выполнено ли обновление успешно или нет. Я сохраняю результат в $Result, и когда я его печатаю, он дает мне следующий результат.Как проверить наличие обновления или нет

CI_DB_mysqli_result Object 
(
    [conn_id] => mysqli Object (
      [affected_rows] => 0 
      [client_info] => mysqlnd 5.0.8-dev - 20102224 - $Revision: 310735 $ 
      [client_version] => 50008 
      [connect_errno] => 0 
      [connect_error] => 
      [errno] => 0 
      [error] => 
      [field_count] => 0 
      [host_info] => localhost via TCP/IP 
      [info] => 
      [insert_id] => 0 
      [server_info] => 5.5.16 
      [server_version] => 50516 
      [sqlstate] => 00000 
      [protocol_version] => 10 
      [thread_id] => 765 
      [warning_count] => 0 
    ) 
    [result_id] => 1 
    [result_array] => Array() 
    [result_object] => Array() 
    [custom_result_object] => Array() 
    [current_row] => 0 
    [num_rows] => 
    [row_data] => 
) 

ответ

0

Вы можете проверить ошибки пуст, как

 

if(!$this->db->_error_number()) { 
    // update successful 
} 
 
1
you can check your affected rows in php like 
if($this->db->affected_rows() > 0){ //affected rows} 

or in codeigniter 

if($this->db->affected_rows() > 0) 
{ 
    return TRUE; 
}else{ 
    return FALSE; 
} 
0

использования $this->db->affected_rows() проверить фактическое обновление произошло или нет, потому что $this->db->_error_number() не будет поднимать какие-либо ошибки, если обновление не на самом деле преуспел, т.е. выполнил запрос, но не изменил запись. выполнить запрос на обновление без изменений в значениях, не будет возвращать ошибку при использовании $this->db->_error_number(), но будет замечен с $this->db->affected_rows(), это то, что мы хотим знать, если значения обновляются или нет.

надеюсь, что это имеет смысл.

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