php - 如何判断 MySQL UPDATE 何时成功与实际更新的数据?

标签 php mysql codeigniter sql-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){ }

关于php - 如何判断 MySQL UPDATE 何时成功与实际更新的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7368225/

相关文章:

php - 将大型 mysql 表拆分为多个表并在 php 应用程序中读取它们的最佳方法?

php - 在 INSERT 之前验证一个条件中的多行

php - 在 MATCH AGAINST 中使用 CONCAT

html - codeigniter View 加载 css 内容

javascript - 为什么在 ajax 表单中出现名称为 javascript 错误的无效表单控件

javascript - 使用 php mysql 登录 cordova

PHP Unset 正在重置我的 session 数组

PHP 登录系统 - 当像在数据库中一样登录用户名时,将用户名设置为小

mySQL 索引和准备状态

json - 使用 CodeIgniter 提交 AngularJS 表单