采用旧的where子句的Codeigniter活动记录更新查询

时间:2012-02-21 14:53:59

标签: php codeigniter activerecord codeigniter-2

我有以下查询

$this->db->set('registerStep', $param)
 ->where('id = ',$user_id)
 ->update($this->table_name);

以上查询生成以下sql代码。即使我只提供一个条件。

 UPDATE `users` SET `registerStep` = 2 WHERE `id` = 33 AND `id` = '165'

我认为活跃的记录是使用一些缓存的条件,有什么方法我可以在任何条件下释放  我尝试使用

$this->db->flush_cache();

但它没有帮助。

2 个答案:

答案 0 :(得分:3)

http://codeigniter.com/user_guide/database/active_record.html#update

->where('id = ',$user_id)

不正确。

->where('id',$user_id)

是对的。

答案 1 :(得分:1)

您的查询完全正确。但我相信你在当前查询之前使用了$ this-> db-> where()。使用以下代码,您将看到所有先前定义的“where”语句:

print_r($this->db->ar_where);
$this->db->set('registerStep', $param)
     ->where('id = ',$user_id)
     ->update($this->table_name);