2017-01-04 73 views
0

這是我在codeigniter中的代碼,但它不會在數據庫中更新,我是初學者ni codeigniter,我該如何解決這個錯誤,或者我的代碼中出現了什麼問題? 這是我的控制器:如何使用codeigniter中的會話更新數據

function edit() { 
    $role = $this->session->userdata('role'); 
    $this->form_validation->set_rules('firstname', 'firstname', 'required|xss_clean'); 
    $this->form_validation->set_rules('lastname', 'lastname', 'required|xss_clean'); 
    if ($this->form_validation->run() == FALSE) { 
     //set page data 
     $data['title'] = 'Update Profile'; 
     if($role!=''){ 
     $data['admin'] = $this->M_user->get($this->session->userdata('user_id')); 
     }else{ 
     $data['admin'] = $this->M_administrator->getAdmin($this->session->userdata('id_admin')); 
     } 
     $data['sitename'] = $this->M_website->getName(); 
     $data['content'] = 'admin/myaccount/edit'; 

     //parse template 
     $this->parser->parse('admin/template', $data); 
    } else { 
     if($role!=''){ 
     if ($this->M_user->updateStatus($_POST['user_id'])) { 
      //SAVE ADMIN ACTION LOG 
      //save_admin_action(array('module' => Constant::AM_ACCOUNT, 'action' => Constant::AL_EDIT, 'title' => $this->form_validation['username'], 'object_id' => $id)); 

      //redirect page 
      $this->session->set_flashdata('saved', TRUE); 
      redirect('admin/myaccount'); 
     } 
     }else{   
     if ($this->M_administrator->updateStatus($_POST['id_admin'])) { 
      //SAVE ADMIN ACTION LOG 
      //save_admin_action(array('module' => Constant::AM_ACCOUNT, 'action' => Constant::AL_EDIT, 'title' => $this->form_validation['username'], 'object_id' => $id)); 

      //redirect page 
      $this->session->set_flashdata('saved', TRUE); 
      redirect('admin/myaccount'); 
     } 
     } 
    } 
} 

這是我的模型管理員:

function updateStatus($post, $id){ 
    $data = array(
       'firstname' => $post['firstname'], 
       'lastname' => $post['lastname'] 
     ); 
    $this->db->where('id_admin', $id); 
    if($this->db->update('admin', $data)){ 
     return TRUE; 
    }else{ 
     return FALSE; 
    } 
} 

用戶型號:

function updateStatus($post, $id){ 
    $data = array(
       'firstname' => $post['firstname'], 
       'lastname' => $post['lastname'] 
     ); 
    $this->db->where('user_id', $id); 
    if($this->db->update('user', $data)){ 
     return TRUE; 
    }else{ 
     return FALSE; 
    } 
} 
+0

我認爲你只在你的函數中傳遞了一個參數,即$ this-> M_user-> updateStatus($ _ POST ['user_id']) in model function updateStatus($後,$ id),你正在使用第二個參數,即$ id在哪裏將是空的 –

+0

所以我只聲明$ post但結果是一樣的。 – noname

+0

你能夠訪問模型 –

回答

0

更改您的where子句 $這個 - > DB->其中('id_admin',$ post);

+0

當我將$ id替換爲$後它存儲2,它永遠不會改變, – noname

1

通名字和姓氏的updatestatus模型功能,如果你,讓你無法改變

打印使用您的查詢$這個 - > DB-> last_query()沒有得到在模型中值;以獲得查詢輸出並在這裏發佈您的查詢

+0

現在就解決了,謝謝 – noname

相關問題