2016-11-27 1 views
3

Я довольно новичок в php, и нет ошибки, но, кстати, не удается обновить мои данные в базе данных.Не удается обновить мою запись базы данных в кодеригенере, не появляется ошибка

The controller

public function update_user_view() { 
    $this->load->helper('form'); 
    $user_id = $this->uri->segment('3'); 
    $query = $this->db->get_where("users",array("user_id"=>$user_id)); 
    $data['records'] = $query->result(); 
    $data['old_user_id'] = $user_id; 
    $this->load->view('user_edit',$data); 
    } 

    public function update_user(){ 
    $this->load->model('user_model'); 

    $data = array( 
     'user_id' => $this->input->post('user_id'), 
     'name' => $this->input->post('name'), 
     'nickname' => $this->input->post('nickname'), 
     'email' => $this->input->post('email'), 
     'hadd' => $this->input->post('hadd'), 
     'gender' => $this->input->post('gender'), 
     'cpnum' => $this->input->post('cpnum'), 
     'comment' => $this->input->post('comment') 

    ); 

    $old_user_id = $this->input->post('old_user_id'); 
    $this->user_model->update($data,$old_user_id); 

    $query = $this->db->get("users"); 
    $data['records'] = $query->result(); 
    $this->load->view('user_view',$data); 
    } 

the model

<?php 
    class User_model extends CI_Model { 

     function __construct() { 
     parent::__construct(); 
     } 

     public function insert($data) { 
     if ($this->db->insert("users", $data)) { 
      return true; 
     } 
     } 

     public function delete($user_id) { 
     if ($this->db->delete("users", "user_id = ".$user_id)) { 
      return true; 
     } 
     } 

     public function update($data,$old_user_id) { 
     $this->db->set($data); 
     $this->db->where("user_id", $old_user_id); 
     $this->db->update("users", $data); 
     } 
    } 
?> 
+0

'echo $ this-> db-> last_query();' после обновления и посмотреть, в чем проблема –

+0

@FastSnail ничего не произошло. – jrpf

+0

ничего? Вы должны увидеть фактический запрос mysql –

ответ

1

Вобще

$this->db->where("user_id", $old_user_id); 
$this->db->update("users",$data); 
0

Удалить $this->db->set($data); от метода обновления модели. Это не требуется, поскольку раздел данных запроса обновления используется для установки записей таблицы.