我正在CodeIgniter中使用rest API我正在使用更新API,所以我只想更新那些我通过邮递员发送的列/字段,例如如果我只发送了first_name
和last_name
,那么应该只更新这些列而不是所有列,但是当前的代码更新了所有列,这是我的代码哪里错了?
public function update_userrecords()
{
$add_data['user_id'] = ($this->input->post('user_id') && !empty($this->input->post('user_id'))) ? $this->input->post('user_id') : NULL;
$add_data['first_name'] = ($this->input->post('first_name') && !empty($this->input->post('first_name'))) ? $this->input->post('first_name') : NULL;
$add_data['last_name'] = ($this->input->post('last_name') && !empty($this->input->post('last_name'))) ? $this->input->post('last_name') : NULL;
$add_data['password'] = ($this->input->post('password') && !empty($this->input->post('password'))) ? $this->input->post('password') : NULL;
$t=time();
$data = array(
'first_name'=>$add_data['first_name'],
'last_name'=>$add_data['last_name'],
'password'=>md5($add_data['password']),
'updated_on'=>$t,
);
$this->db->where('id',$add_data['user_id']);
$this->db->update('users', $data);
}
您可以使用这种方式
在新数组中设置输入字段并更新该数组。我在$insert_data
中添加了一个字段。你可以随意添加。
public function update_userrecords()
{
$add_data['user_id'] = ($this->input->post('user_id') && !empty($this->input->post('user_id'))) ? $this->input->post('user_id') : NULL;
$insert_data = [];
if($this->input->post('first_name') && !empty($this->input->post('first_name'))) {
$insert_data['first_name'] = $this->input->post('user_id');
}
$t=time();
$this->db->where('id',$add_data['user_id']);
$this->db->update('users', $insert_data);
}