2012-03-06 60 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(),這是我們想知道的值是否已更新。

希望它是有道理的。