【问题标题】:mysql database update and codeigniter rows affected function [duplicate]mysql数据库更新和codeigniter行受影响的功能[重复]
【发布时间】:2012-05-26 12:02:01
【问题描述】:

我在更新查询后使用这个函数这个codeigniter函数

$this->db->affected_rows();

如果我更新值,它会返回受影响的行数,但如果我更新与以前相同的值,它会返回 0 行受影响

任何帮助...

【问题讨论】:

  • 第二次运行相同查询时,有 0 行受到影响?我认为这是正确的行为,因为当您第二次运行相同的查询时没有任何改变。你遇到了什么问题?
  • 是的,我明白我需要的是确认查询已成功运行。

标签: php codeigniter


【解决方案1】:

是的,我知道我需要确认查询已成功运行。

如果“成功运行”,所有 CI 数据库函数都会返回一个结果。

所以

$result = $this->db->update('your_table', $data);
if ( ! $result)
{
     // Error
}
{
     // Function ran ok - do whatever
}

【讨论】:

    【解决方案2】:

    为了检查数据库查询是否成功,您可以使用以下命令检查错误代码:

    $this->db->_error_message();
    

    如果为空,则说明没有错误。如果没有,您会收到错误消息。 _error_number() 也已设置,因此如果您正在查找特定错误,则可以使用它。

    通常,如果您知道有affected_rows(),则可以跳过错误检查,因此您可以将_error_message() 测试限制为affected_rows() 返回0 的情况。

    【讨论】:

      猜你喜欢
      • 2014-06-02
      • 1970-01-01
      • 2018-12-10
      • 1970-01-01
      • 2016-12-10
      • 2019-11-20
      • 2016-08-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多