php – 如何告诉MySQL UPDATE何时成功与实际更新的数据?

我如何告诉MySQL UPDATE何时成功与实际更新的数据?

例:

TABLE
id    city_name
1     Union
2     Marthasville

如果我运行以下:

$data = array('city_name', 'Marthasville');

//update record 2 from Marthasville to the same thing, Marthasville. 
$this->db->where('id', 2);
$this->db->update('table', $data);

if($this->db->affected_rows() > 0)
{
    //I need it to return TRUE when the MySQL was successful even if nothing was actually updated.
    return TRUE;
}else{
    return FALSE;
}

这将在每次UPDATE语句成功时返回TRUE,但在没有行实际更新时为FALSE。

我需要它每次UPDATE语句成功执行时返回TRUE,即使它没有实际更改任何记录。

看看mysql_affected_rows()

它应该告诉你是否有任何实际更新,而不是没有成功更新导致返回true。

php.net说:

mysql_affected_rows()

Returns the number of affected rows on success, and -1 if the last
query failed.

您可以使用以下方式实现所需的结果:

if($this->db->affected_rows() >= 0){ }
http://stackoverflow.com/questions/7368225/how-do-i-tell-when-a-mysql-update-was-successful-versus-actually-updated-data

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:php – 如何告诉MySQL UPDATE何时成功与实际更新的数据?