doutuosai3504
2013-09-06 09:14
浏览 40
已采纳

更新codeigniter中的多个记录

I am working on a CodeIgniter project where i have to change the status of record. Actually I have to update only those records whose id are/is in the ids sting.

Currently, only one record is updated with my code. My model function is:

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;
    }
}

Someone help me please.

图片转代码服务由CSDN问答提供 功能建议

我正在进行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; 
} 
} 
    
 
 

请有人帮助我。

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

  • donglian2106 2013-09-06 09:23
    最佳回答

    The second parameter of where_in() method should be an array:

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

    By any reason, if the $ids is an string like "1,2,3,4,5,6", you could get it to work by:

    $ids = explode(',', $ids);
    $this->db->where_in('id', $ids);
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题