CI 묻고 답하기

제목 update쿼리가 이상하네요.
카테고리 CI 2, 3
글쓴이 필승 작성시각 2018/12/12 20:03:56
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 11356   RSS

안녕하세요.

다름이 아니고 컨트롤에서 회원유무 조회후 업데이트 하는 코드인대요.

해결이 안돼서 문의 드립니다.

아래내용은 소스를 간략하게 작성해봤습니다.

/*모델*/

Member_model.php

public function memberCheck($input) {

 

$select_column = 'member_id';

$this->db->select($select_column)->from($this->table);

$this->db->where("member_id=", $input['member_id']);

$this->db->where("member_pw=", $input['member_pw']);

return $member['info'];

}

public function memberUpdate($data, $member_id) {

  $this->db->update($this->table, $data, array('member_id' => $member_id));

}

/*컨트롤러*/

Member.php

public function _memberCheck($input)

{

$input["member_id"]  =$member_id;

$input["member_pw"]  =$this->common->cleanXSS($this->input->post('org_member_pw', TRUE));

//회원검증

$member = $this->Member_model->memberCheck($input);

//회원 업데이트

$data = array('member_pw' =>$hash_pw,'member_pw_modify_date'=>date("Y-m-d H:i:s"));

$this->Member_model->memberUpdate($data,$member->member_id);

}

여기서 문제는 업데이트가 돼질 않아서 쿼리문을 프린트 했더니

업데이트쿼리 where에 

UPDATE `TB_MEMBER` SET `member_pw` = 'NjI2MzEzNTMzNDY3NTU0NhiSE/7x97pSP42GVutUXNg9z5DXFGJslGx5aAdTPll/vLPPCWuLUNrS/kFgSuN4kdRO8idjEBKawQWHGllXRj4=', `member_pw_modify_date` = '2018-12-12 19:39:03' WHERE `member_id` = 'snss2144' AND `member_pw` = '1234' AND `member_id` ='snss2144'

이렇게 

`member_id` = 'snss2144' AND `member_pw` = '1234' 모델에서 function memberCheck()에있는  where조건이   and 조건으로 연결됩니다.

이것때문에 오늘 하루종일 고민중인데요. 액티브코드로 작성을 안하고 급한대로 해결했는대 너무 궁금하네요

단순 조회후 업데이트 하는 코드인대요. 뭐가 잘못됐는지 알려주시면 감사 하겠습니다.

 다음글 세션관련 질문 (3)
 이전글 ci3 파일세션 질문 드립니다. (1)

댓글

kaido / 2018/12/12 21:03:45 / 추천 0

public function memberCheck($input) {

...

$this->db->get(); 

}

 

쿼리 실행 문이 빠져있네요.

update 이나 insert , delete 같은 DML 명령어는 실행문이 포함되어있지만 select 같은 RETRIEVE 명령어는 get() 으로 가져와야합니다.

 

그래서 위에서 사용한 $this->db->where() 명령어가 밑에 update에서 동작한것입니다.

필승 / 2018/12/12 21:05:23 / 추천 0

감사합니다.  kaido님 유부트 영상보고 코드 작성및 클래스 강의 잘보았습니다.

도움주셔서 감사합니다.