如何判断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;

}

TRUE每当UPDATE语句成功执行时,此操作将返回,但是当实际未更新任何行时返回FALSE。

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

回答:

看看mysql_affected_rows()

它应该告诉您是否实际更新了什么,而不是没有成功更新导致返回true的情况。

php.net说:

mysql_affected_rows()

返回成功时受影响的行数;如果最后一个查询失败,则返回-1。

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

if($this->db->affected_rows() >= 0){ }

以上是 如何判断MySQL UPDATE与实际更新的数据何时成功? 的全部内容, 来源链接: utcz.com/qa/430704.html

回到顶部