2012-02-21 73 views
0

我有以下查詢Codigniter活動記錄更新查詢到老where子句

$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' 

我認爲活動記錄是使用一些緩存where條件,有什麼辦法,我可以自由where條件。
我嘗試使用

$this->db->flush_cache(); 

但它沒有幫助。

+0

嘗試在$ user_ID的一個的var_dump,看看它是在該行之前設定的權利。 – 2012-02-21 14:59:58

+1

爲什麼不試試$ this-> db-> where('id',$ id); $ this-> db-> update('users',$ param); – 2012-02-21 15:02:02

+0

我試過'$ this-> db-> where('id',$ id); $ this-> db-> update('users',$ param);'但它沒有幫助 – 2012-03-10 15:20:28

回答

1

您的查詢完全正確。但我相信你在當前查詢之前使用了$ this-> db-> where()。使用下面的代碼,你會看到所有的先前定義的「其中」聲明:

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