CI 묻고 답하기

제목 You must use the "set" method to update an entry.
글쓴이 박순철 작성시각 2011/03/24 17:47:15
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 24551   RSS
수정할려는 페이지에서 내뿜는 에러메시지 인데요.

A Database Error Occurred

You must use the "set" method to update an entry.


컨트롤러

function orderListModify()
{
  $number = $this->input->post('intSequence');
  $this->login_model->modify_entry($number,$_POST);

  $data['msg'] = "수정되었습니다. ";
  $this->load->view('login/msg_process', $data);
}

모델
function modify_entry($number,$object) 
{
  $this->db->where('intSequence', $number);
  $this->db->update('member', $object);
}
계속 잘 써왔는데, 오늘 파폭에서 해보니까  위 에러메세지가 나와요.

익스플로러에서는 에러없이 잘 되구요.

제 생각에는   "$_POST"  때문인것 같은데, 저렇게 쓰면 안되는건가요?

 
 다음글 뷰에서 $q1를 바뀌어가게 하는 법을 모르겠어요 (2)
 이전글 기본적으로 컨트롤러 이름이 유동적일 수 있나요? (5)

댓글

헛발이 / 2011/03/24 18:11:14 / 추천 0
그쵸 저렇게 쓰면 안될듯 싶은데요...
$_POST 속에는 원하지 않는 데이터도 있는걸로 알고 있어요 ...
echo '<pre>';
print_r($_POST);
echo '</pre>';
이렇게찍어 보세요..

그 곳에 배열과 테이블의 컬럼에는 없는 값이 있을거에요...

설명서에 보면 POST로 넘겨 받은 값을 원하는 값만 바리게이션 하고 검증된 값을 배열로 만들어 넘기는 설명이
있을거에요...

여길 함 보세요~
http://codeigniter-kr.org/user_guide/libraries/form_validation.html
변종원(웅파) / 2011/03/24 18:21:54 / 추천 0
위와 같이 작업하시면 편하기는 하지만 보안에 취약합니다.
$this->input->post()를 쓰세요.