mri*_*dul 0 php mysql codeigniter
我正在尝试更新codeigniter中的特定表行.但我的代码更新了所有行.
模型:
function edit_profile($array){
        $email=$array['email'];
        $this->db->select("email");
        $this->db->from("user");
        $this->db->where('email', $email);
        $query=$this->db->get();
        if ($query->num_rows() == 1){
        $this->db->update('user',$array);
            return 1;
        }else{
            return $query->num_rows(); 
        }
    }
Run Code Online (Sandbox Code Playgroud)
控制器:
     public function edit()
        {
        $name = $this->input->post('user_name', TRUE);
        $email=trim($this->session->userdata('email'));
        $array = array('user_name'=>$name,'email'=>$email);
        $result = $this->edit_profile_model->edit_profile($array);
        echo $result;
        }
Run Code Online (Sandbox Code Playgroud)
并在新页面中显示回显值1.如何更新特定行?为什么$query->num_rows()返回1并更新所有行?
尝试使用where条件更新特定记录
$updateData = array(
   'user_name'=>$array['user_name'];
);
$this->db->where('email', $array['email']);
$this->db->update('user', $updateData); 
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           8419 次  |  
        
|   最近记录:  |