2015-12-02 57 views
1

我在更新我的数据库(MySQL工作台)中的表时遇到问题。Codeigniter数据库更新问题

在我的模型的代码如下:

function updateMail($new) { 
    $data = array(
     'email' => $new 
    ); 
    $this->db->where('email', $this->session->userdata('email')); 
    $result = $this->db->update('person', $data); 
    $error = $this->db->error(); 
    return $error; 
} 

我控制器然后放入$结果的返回值,并chechs if(!isset($result))

问题是,有时表更新,有时它不, 但错误总是设置。

该表基本上包含具有ID,名称,名字,密码,用户名,电子邮件和患者字段的人员。

我做错了什么?或者有没有一种方法可以显示它抛出的错误信息?

回答

1

而是错误的,你必须检查你的查询

function updateMail($new) { 
    $data = array(
     'email' => $new 
    ); 
    $this->db->where('email', $this->session->userdata('email')); 
    $result = $this->db->update('person', $data); 
    $afftectedRows = $this->db->affected_rows(); 
    if ($afftectedRows > 0) { 
     return TRUE; 
    } else { 
     return FALSE; 
    } 
} 
+1

感谢队友的affected row数,我也发现了,为什么它只是工作偶尔...我搜索的用户数据的电子邮件进入,但是当我改变它,我没有改变它的用户数据.... – Wouter