Codeigniter忽略了更新查询中的WHERE条件

时间:2019-07-02 05:59:56

标签: php codeigniter

我们在更新一个表的1条记录时遇到了一个关键问题。更新查询已更新为所有22k记录,而不是1条记录。因为查询中缺少WHERE条件。

应用程序在PHP 5和Codeigniter 2.0.3上运行。我们试图重复该问题,但未能成功。

这种逻辑存在很长一段时间,直到现在一直可以正常工作。但是在某些特定时间,该查询无法添加WHERE条件,并且无法更新到表中的所有记录

我们编写了如下查询逻辑

$this->db->where('id', $id);
$this->db->update($this->table_name, $attributes);

我们提供$ id作为整数值。例如:2或5或100之类的

在应用程序日志中,我们得到了查询

UPDATE `users` SET `status` = 1, `updated_by` = 'system'

预期:

UPDATE `users` SET `status` = 1, `updated_by` = 'system'  WHERE `users`.`id` = 34.

在日志中没有报告错误。

请让我知道为什么会失败。

预先感谢

1 个答案:

答案 0 :(得分:0)

请以下面的格式编写代码

$this->db->where('id', 2);
$this->db->update('mytable', $record);