仅更新已过帐的列

  • 本文关键字:更新 php codeigniter
  • 更新时间 :
  • 英文 :


我正在CodeIgniter中使用rest API我正在使用更新API,所以我只想更新那些我通过邮递员发送的列/字段,例如如果我只发送了first_namelast_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);
}

相关内容

  • 没有找到相关文章

最新更新