如何判断 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
,即使它实际上并没有更改任何记录。
最佳答案
它应该告诉您是否实际更新了任何内容,而不是没有成功更新任何内容并返回 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){ }
关于php - 如何判断 MySQL UPDATE 何时成功与实际更新的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7368225/