2015-12-02 56 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