2014-04-26 5 views
1

문제는이 모델에 있습니다. where 문을 제거하면 쿼리가 올바르게 실행되지만 id에 따라 행을 하나 변경하려면 Where 문이 필요합니다. where 문을 가지고 쿼리를 실행할 때 데이터베이스에는 아무런 영향을 미치지 않지만 영향을받는 행은 없습니다.Codigniter 업데이트 쿼리가 작동하지 않습니다.

public function update_goods() 
{ 
    $id=$this->input->post('ID'); 
    $data=array(
    'ID'=>$this->input->post('ID'), 
    'Title'=>$this->input->post('Title'), 
    'Value'=>$this->input->post('Value'), 
    'Description'=> $this->input->post('Description'), 

); 

    $this->db->where('ID', $id); 
    $this->db->update('goods',$data); 


} 
+0

$ id를 에코하려고하십시오. 신분증을 받고 있습니까? –

+0

echo $ this-> db-> last_query(); - 업데이트 쿼리가 끝나면이 작업을 시도하십시오. –

답변

0

the docs을 기반으로 정상적으로 작동합니다.

$data = array(
       'title' => $title, 
       'name' => $name, 
       'date' => $date 
      ); 

$this->db->where('id', $id); 
$this->db->update('mytable', $data); 

// Produces: 
// UPDATE mytable 
// SET title = '{$title}', name = '{$name}', date = '{$date}' 
// WHERE id = $id 

업데이트 할 필요가 없지만 배열에서 ID를 가져와야한다고 생각합니다.

public function update_goods() 
{ 
    $data = array(
    'Title'  => $this->input->post('Title'), 
    'Value'  => $this->input->post('Value'), 
    'Description' => $this->input->post('Description'), 

    ); 
    $this->db->where('ID', $this->input->post('ID')); 
    $this->db->update('goods', $data); 
} 

또한 $this->input->post('ID')goods는 테이블의 레코드를 지칭 확인.

+0

내 친구, 고맙습니다.하지만 제 문제가 달랐습니다. 양식에 숨겨진 입력이 있었는데 그 입력이 이드를 통과하지 못했습니다 ... – user3537552

+0

하하, 답변에 내 마지막 점을 알려주세요;) 당신이 생각한 것을 듣고 기뻐요. 아웃. – quickshiftin

관련 문제