Codeigniter无法更新一行的值

时间:2014-07-28 11:55:23

标签: php mysql codeigniter

只想改变' city'的价值。在' email'的值中的行等于$ user_email。问题在于它改变了城市的价值。在表格的所有行中'用户'。请帮我找出错误:

这是我的模特:

public function did_change_city($user_email){

    $query = $this->db->get_where('users',array('email' => $user_email));

    if ($query->num_rows() == 1) {

    if ($this->db->update('users',array('city' => $this->input->post('city'))))

        {return true;}

        else

        {return false;}
    } else {return false;}

                }

1 个答案:

答案 0 :(得分:3)

您需要在更新记录之前添加where条件

$this->db->where('email' , $user_email);
$result = $this->db->update('users',array('city' => $this->input->post('city')));

并在if条件中使用$ result变量

或者您可以使用

$this->db->update('mytable', array('city' => $this->input->post('city')), "`email` = $user_email");

或者您可以使用评论中给出的语法(第二个)..所有最好的