使用Code Igniter仅更新一条记录

时间:2014-02-14 14:20:09

标签: php mysql sql codeigniter

首先,我将展示我想做的事情。

我想检查用户是否有多条记录:

WHERE 'from_user_id' == '$id'

查询return > 0时,我只想更新一条记录where 'from_user_id' == '$id'

我不关心订单,它可以是最后一个或第一个记录,但我必须只更新一个记录。

以下是我模特的一部分:

public function get_bonuses() {
    if ($this->db->where('from_user_id', $this->user_id())->from($this->reff_table)->count_all_results()>0 ) {
        $this->db->where('from_user_id', $this->user_id());
        $this->db->update($this->reff_table, array('used' => '1'));
        return true;
    } else
        return false;

}

它工作正常,但我只想更新一条记录:<

我希望有人能帮助我。 此致

-----编辑 已解决 - 我是如此愚蠢,但我需要从另一边看我的代码:) 这是工作代码:

if ($this->db->where(array('from_user_id' =>$this->user_id(), 'used' => '0' ))->from($this->reff_table)->count_all_results()>0 ) { $this->db->where(array('from_user_id' =>$this->user_id(), 'used' => '0' ))->limit(1); $this->db->update($this->reff_table, array('used' => '1')); return true;

1 个答案:

答案 0 :(得分:0)

如果要更新结果中的任何一条记录,只需将查询计数的查询限制为1&获取其唯一ID(主键)并更新该行。