2017-06-19 59 views
-2

我想更新代码点火器(用户详细信息)中的用户数据 下面是我的代码更多的检查。请检查为什么我按“更新”按钮时出现错误。 注:我使用了一些在我看来这些信息,我没有现在复制主题(没有必要,其实) 控制器:更新数据codeigniter数据库错误号1064

public function edit(){ 
    //validation form 
    $this->form_validation->set_rules('first_name', 'First Name', 'trim|required|min_length[4]|xss_clean'); 
    $this->form_validation->set_rules('last_name', 'Last Name', 'trim|required|min_length[4]|xss_clean'); 
    $this->form_validation->set_rules('email','Email','trim|required|valid_email|is_unique[users.email]'); 
    $this->form_validation->set_rules('username','Username','trim|required|min_length[3]|max_length[16]'); 
    $this->form_validation->set_rules('password','Password','trim|min_length[3]|max_length[50]'); 
    $this->form_validation->set_rules('password2','Confirm Password','trim|matches[password]'); 
    $this->form_validation->set_rules('cellphone','Cellphone Number','trim|required'); 
    $this->form_validation->set_rules('activation_code','Activation Code','trim'); 

    //$data['groups'] = $this->User_model->get_groups(); 
    //$data['user'] = $this->User_model->get_user($uid); 

    if($this->form_validation->run() == FALSE) { 
     //view 

     $data = array(
      'userid'   => $this->session->userdata('user_id')->id, 
      'first_name'  => $this->session->userdata('user_id')->first_name, 
      'last_name'   => $this->session->userdata('user_id')->last_name, 
      'fathers_name'  => $this->session->userdata('user_id')->fathers_name, 
      'id_card_number' => $this->session->userdata('user_id')->id_card_number, 
      'national_number' => $this->session->userdata('user_id')->national_code, 
      'national_code'  => $this->session->userdata('user_id')->national_code, 
      'age'    => $this->session->userdata('user_id')->age, 
      'gender'   => $this->session->userdata('user_id')->gender, 
      'is_addict'   => $this->session->userdata('user_id')->is_addict, 
      'hiv_status'  => $this->session->userdata('user_id')->hiv_status, 
      'hepatitis_status' => $this->session->userdata('user_id')->hepatitis_status, 
      'email'    => $this->session->userdata('user_id')->email, 
      'needed_services' => $this->session->userdata('user_id')->needed_services, 
      'username'   => $this->session->userdata('user_id')->username, 
     ); 

     //$data['last_name'] = $this->session->userdata('user_id')->last_name; 
     //$data['data'] = $this->Profile_Model->get_user_profile(); 
     //$this->base->set_message($msg,$type); 
     redirect(site_url('admin/profile'),'refresh'); 
     $data['courses'] = $this->Profile_Model->get_user_profile(); 
     //load view 
     $data['main_content'] = 'profile/index'; 


     $this->load->view('profile/layouts/main', $data); 
    }else{ 
     //create articles data array 

     $data = array(
      'first_name'  => $this->input->post('first_name'), 
      'last_name'   => $this->input->post('last_name'), 
      'username'   => $this->input->post('username'), 
      'email'    => $this->input->post('email'), 
      'cellphone'   => $this->input->post('cellphone'), 
      'group_id'   => 2, 
     ); 
     if($this->input->post('user_id') == $this->session->userdata('user_id')->id){ 
      $uid = $this->input->post('user_id'); 
     } 
     $password = $this->input->post('password'); 
     $password2 = $this->input->post('password2'); 
     if($password != '' && $password = $password2){ 
      $data['password'] = md5($this->input->post('password')); 
     } 
     if($this->input->post('activation_code') !=''){ 
      $data['activation_code'] = $this->input->post('activation_code'); 
     } 
     $this->Profile_Model->update($data, $uid); 

     //Create Message 
     $this->session->set_flashdata('User_saved','You have successfully registered'); 

     //redirect to page 
     redirect('admin/profile'); 
    } 
} 

也低于是我的模型代码片段: 模型:

public function update($data, $uid) 
{ 
    $this->db->where('id', $uid); 
    $result = $this->db->update($this->table_users, $data); 
    return $result; 
} 

以下是我的看法形式: 观点:

<?php echo form_open(base_url('admin/profile/edit'),'class="form-horizontal"');?> 
     <?php $uid = $this->session->userdata('user_id')->id; 
     $uid = intval($uid); 
     ?> 
     <div class="form-group"> 
      <label class="col-sm-1 control-label" for="first_name">نام</label> 
      <input type="hidden" name="user_id" value="<?php echo $uid;?>"> 
      <div class="col-sm-5"> 
       <input type="text" id="first_name" name="first_name" class="form-control" value="<?php echo set_value('first_name',$first_name);?>"> 
      </div> 
      <label class="col-sm-1 control-label" for="last_name">نام خانوادگی</label> 
      <div class="col-sm-5"> 
       <input type="text" id="last_name" name="last_name" class="form-control" value="<?php echo set_value('last_name',$last_name);?>"> 
      </div> 
     </div> 
     <div class="form-group"> 
      <label class="col-sm-1 control-label" for="email">ایمیل</label> 
      <div class="col-sm-5"> 
       <input type="email" id="email" name="email" class="form-control" value="<?php /** @var dbObject $email */ 
       echo set_value('email',$email);?>"> 
      </div> 
      <label class="col-sm-1 control-label" for="username">نام کاربری</label> 
      <div class="col-sm-5"> 
       <input type="text" class="form-control" value="<?php echo $username;?>" disabled aria-disabled="true" title="You cant't change your username" /> 
      </div> 
     </div> 
     <div class="form-group"> 
      <label class="col-sm-1 control-label" for="password">رمز ورود</label> 
      <div class="col-sm-5"> 
       <input type="password" id="password" name="password" class="form-control"> 
      </div> 
      <label class="col-sm-1 control-label" for="password2">تایید رمز</label> 
      <div class="col-sm-5"> 
       <input type="password" id="password2" name="password2" class="form-control"> 
      </div> 
     </div> 
     <div class="form-group"> 
      <label class="col-sm-1 control-label" for="cellphone">شماره تلفن همراه</label> 
      <div class="col-sm-5"> 
       <input type="tel" id="cellphone" name="cellphone" class="form-control"> 
      </div> 
      <label class="col-sm-1 control-label" for="cellphone_activation">کد تایید پیامکی</label> 
      <div class="col-sm-5"> 
       <input type="text" id="cellphone_activation" name="cellphone_activation" class="form-control"> 
      </div> 
     </div> 
     <div class="form-group"> 
      <div class="col-sm-5 col-sm-offset-1"> 
       <p> 
        <button class="btn mybtn btn-custom" type="submit">ویرایش</button> 
       </p> 
      </div> 
     </div> 
     <?php echo form_close();?> 
+1

什么是错误? –

+0

请向我们展示**完整的**错误消息,并且优先考虑它出现的PHP行号 – RiggsFolly

+0

问题在您的查询中试试这个公共函数更新($ data,$ uid) {this-> db-> ('id',$ uid); $ result = $ this-> db-> update($ this-> table_users,$ data); echo last_query();出口; }复制粘贴在分贝查询,并知道错误。 – JYoThI

回答

1

型号应该像这样写表名代替$this->table_users

public function update($data, $uid) 
{ 
    $this->db->where('id', $uid); 
    $result = $this->db->update(user, $data); 
    return $result; 
} 
+0

但我已经在构造函数中设置了table_users之前,我可以从中加载数据。也许我想更改功能中的表名称。 –