【问题标题】:update multiple records in codeigniter更新codeigniter中的多条记录
【发布时间】:2013-09-06 09:14:27
【问题描述】:

我正在开发一个 CodeIgniter 项目,我必须在其中更改记录状态。实际上我只需要更新那些 id 是/在 ids sting 中的记录。

目前,我的代码只更新了一条记录。我的模型函数是:

public function markUnRead() {
    $ids = 1,2,3,4,5,6;
    $update = array('status' => 0);
    $this->db->where_in('id', $ids);
    $this->db->update('tableName',$update);

    if ($this->db->affected_rows() > 0) {
        return true;
    } else {
        return false;
    }
}

请有人帮帮我。

【问题讨论】:

    标签: php sql codeigniter


    【解决方案1】:

    where_in()方法的第二个参数应该是array

    $this->db->where_in('id', array(1,2,3,4,5,6));
    

    无论出于何种原因,如果$ids 是类似"1,2,3,4,5,6" 的字符串,您可以通过以下方式使其工作:

    $ids = explode(',', $ids);
    $this->db->where_in('id', $ids);
    

    【讨论】:

    • 我创建了第二个参数数组,但仍然得到相同的结果。只更新了一条记录。
    • 是的,兄弟现在可以了,非常感谢,实际上我的更改不正确。你的回答绝对正确。再次感谢。
    • 我遇到了同样的问题,我已经应用了您在此处建议的相同解决方案,但我无法更新多个值,只能更新单个值。在这种情况下该怎么办? @HashemQolami
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-14
    • 2019-02-18
    • 2016-05-01
    • 2013-05-02
    • 2014-03-04
    • 1970-01-01
    相关资源
    最近更新 更多