【问题标题】:Update only one record with Code Igniter使用 Codeigniter 仅更新一条记录
【发布时间】:2014-02-14 14:20:09
【问题描述】:

首先,我将展示我想要做什么。

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

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;

【问题讨论】:

  • 大声笑,我太笨了。这是解决方案:
  • 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'));返回真;
  • 您可以使用正确的查询编辑您的帖子
  • @Jakon89:不要将正确答案作为评论发布,而是自己回答您的问题。

标签: php mysql sql codeigniter


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-12
    • 2019-02-18
    相关资源
    最近更新 更多