Как проверить, сделано обновление или нет - PullRequest
0 голосов
/ 06 марта 2012

Я обновляю таблицу, как я могу проверить, было ли обновление успешным или нет. Я сохраняю результат в $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 ]

1 голос
/ 06 марта 2012
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 голосов
/ 07 марта 2012

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

hopeэто имеет смысл.

0 голосов
/ 06 марта 2012

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


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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...