mysql数据库更新和codeigniter行受影响的功能

时间:2012-05-26 12:02:01

标签: php codeigniter

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

$this->db->affected_rows();

如果我更新值,它会返回受影响的行数,但是如果我使用与之前相同的值更新值,则会返回受影响的0行

任何帮助......

2 个答案:

答案 0 :(得分:7)

  

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

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

所以

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

答案 1 :(得分:0)

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

$this->db->_error_message();

如果是空的,则没有错误。如果没有,您有错误消息。 _error_number()也已设置,因此如果您正在寻找特定错误,则可以使用它。

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