2016-08-25 5 views
1

Ошибка выглядит примерно так:Mysql ошибка при обновлении

Неизвестный столбец 'resignation_id =' 158 '' в 'где предложение'

UPDATE pr_temporary_absconding_checklists SET completion_status = 'pending' WHEREresignation_id='158' AND checklist_id='4'

Мой код модели :

function submit_absconding_checklist($post_array, $idss) { 
 

 
    $this->load->database(); 
 
    $ids = $this->uri->segment(4); 
 
    $where = "resignation_id='$ids' AND checklist_id='$idss'"; 
 
    $this->db->where($where); 
 
    $dbdata = array(
 
    "completion_status" => $post_array['completion_status'] 
 
); 
 

 
    $this->db->update('pr_temporary_absconding_checklists', $dbdata); 
 
    print_r($query); 
 
    die; 
 
    /** 
 
    * if required add this code here to check 
 
    * 
 
    * echo $this->db->last_query(); 
 
    */ 
 
    return 'Checklist updated successfully'; 
 
}

Также прилагается таблица изображения enter image description here:

+2

неуместна кавычка в SQL в зависимости от конечного оператора SQL ~ есть, как представляется, кавычка окружающей все «resignation_id =„158“» – RamRaider

+0

Ваша таблица говорит вы используете resignation_id1 вместо resignation_id. Измените его. – Manish

+0

Что @Manish? Это верно. –

ответ

1

Вы можете написать вы запрашиваете в активном формате записи, как

$this->db->set("completion_statuscompletion_status", $post_array['completion_status']); 
$this->db->where("resignation_id", $ids); 
$this->db->where("checklist_id", $idss); 
$this->db->update("pr_temporary_absconding_checklists"); 
$afftectedRows = $this->db->affected_rows(); 
1

Удалить кавычку вокруг resignation_id='158' в запросе.

Он должен выглядеть следующим образом:

UPDATE `pr_temporary_absconding_checklists` SET `completion_status` = 'pending' WHERE `resignation_id`='158' AND `checklist_id`='4' 

код модели:

function submit_absconding_checklist($post_array, $idss) { 

    $this->load->database(); 
    $ids = $this->uri->segment(4); 
    $this->db->where('resignation_id', $ids); // UPDATED 
    $this->db->where('checklist_id', $idss); // UPDATED 
    $dbdata = array(
    "completion_status" => $post_array['completion_status'] 
); 

    $this->db->update('pr_temporary_absconding_checklists', $dbdata); 
    print_r($query); 
    die; 
    /** 
    * if required add this code here to check 
    * 
    * echo $this->db->last_query(); 
    */ 
    return 'Checklist updated successfully'; 
} 
+0

, пожалуйста, дайте запрос, поскольку существуют переменные подстановки – shank

+0

Я добавил код модели с правильным использованием '$ this-> db-> where()' – roberto06

+0

Спасибо .. чувак – shank

0

Попробуйте как этот

$data = array(
    'completion_status' => $post_array['completion_status'] 
); 

$this->db->where('resignation_id', $ids); 
$this->db->where('checklist_id', $idss); 
$this->db->update('mytable', $data); 
+0

Неизвестный столбец 'resignation_id =' 158 '' в 'где предложение' UPDATE pr_temporary_absconding_checklists SET 'completion_status' = NULL WHERE' resignation_id = '158'' И checklist_id =' 4' – shank

+0

@shank проверить прямо сейчас –

0

Вы должны попробовать этот код.

function submit_absconding_checklist($post_array, $idss) { 
    $this->load->database(); 
    $ids = $this->uri->segment(4); 
    $dbdata["completion_status"] = $post_array['completion_status']; 
    $this->db->update("pr_temporary_absconding_checklists", $dbdata, array('resignation_id' => $ids,'checklist_id'=>$idss)); 

    print_r($query); 
    die; 
    /** 
     * if required add this code here to check 
     * 
     * echo $this->db->last_query(); 
    */ 
    return 'Checklist updated successfully'; 
    } 
Смежные вопросы