如何检查更新是否完成

时间:2012-03-06 11:22:21

标签: php mysql codeigniter

我正在更新表格如何检查更新是否成功。我将结果存储在$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] => 
)

3 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分:0)

您可以检查错误为空,例如


if(!$this->db->_error_number()) {
  // update successful
}

答案 2 :(得分:0)

使用$this->db->affected_rows()验证是否发生了实际更新,因为如果更新实际上没有成功,$this->db->_error_number()不会引发任何错误,即查询已执行但记录中没有更改。如果使用$this->db->_error_number()执行更新查询而不更改值将返回没有错误,但会注意到$this->db->affected_rows(),这是我们想要知道的值是否更新。

希望它有意义。