SQL更新codeigniter错误不会更新

时间:2017-09-08 19:49:12

标签: php codeigniter sql-update codeigniter-3

我需要更新数据库,但它没有更新。当我从多个错误中放入变量$ user_id时,它不会出现错误或更新。

[pscustomobject]@{
    User = $env:username
    Machine = $env:computername
    Timestamp = get-date
 } | Export-CSV C:\Example\path.csv -NoTypeInformation

MODEL:

public function is_accepted($user_id){
    $this->db->set('is_accepted', '1');
    $this->db->where('user_id', $user_id);
    $this->db->update('users');

    //UPDATE `users` SET `is_accepted` = '1' WHERE `users`.`user_id` = 1;
}

控制器:

public function get_user_id_from_username($username) {
    $this->db->select('user_id');
    $this->db->from('users');
    $this->db->where('username', $username);

    return $this->db->get()->row('user_id');

}

public function get_user($user_id) {

    $this->db->from('users');
    $this->db->where('user_id', $user_id);
    return $this->db->get()->row();

}

private function hash_password($password) {

    return password_hash($password, PASSWORD_BCRYPT);

}

private function verify_password_hash($password, $hash) {

    return password_verify($password, $hash);

}

查看:此加载视图未更新

public function saveUpdate(){
    $this->user_model->is_accepted();
    //redirect('/painel');
}

2 个答案:

答案 0 :(得分:1)

从您的函数调用时,您的模型缺少参数

<强>控制器

//passed in as a param
public function saveUpdate($user_id){
  //need to get user_id to pass in to model
  $this->user_model->is_accepted($user_id);

}

还清理你的代码

<强>模型

public function is_accepted($user_id){

  $this->db->where('user_id', $user_id)->update('users', ['is_accepted'=>1]);

}

查看

将按钮更改为锚标记

 <a class="btn btn-primary" href="<?php echo base_url('saveUpdate/'.$user_id); ?>">Aceitar contrato</a>

答案 1 :(得分:0)

我认为你在Controller中缺少$ user_id

public function saveUpdate(){
     $this->user_model->is_accepted($user_id);
    //redirect('/painel');
}

还有一件事is_accepted的数据类型是什么?是varchar还是int?根据那个发送。