$this->db->escape에 대해서 질문있습니다.
제가 아래 sql쿼리를 사용할껀데요
$member_id = $this->input->post('member_id ', TRUE);
$sql = "SELECT member_pw FROM member_table WHERE member_id='" . $member_id . "'";
SQL Injection 방지를 위해서
$member_id = $this->db->escape($member_id );를 두 문장 사이에 사용하였습니다.
그랬더니 결과 쿼리가 이렇게 되어버렸어요...
SELECT member_pw FROM member_tableWHERE member_id=' 'root' '
즉 홀따옴표가 2개 생겨버렸네요.
이유가 뭔가요?
코드이그나이터를 쓰시면 엑티브레코드를 쓰시기를 권장 합니다.
위에 쿼리는 간단하게
$this->db->where('member_id',$member_id)->get('member_table')->result_array(); 로 간단하게 결과를 조회 할 수 있습니다.
또한 원하시는 이스케이프 처리까지 완벽하게 해주므로, 구지? 날쿼리를 쓰는것 보단 이게 더 편할것으로 판단 됩니다.
문의 하신 내용은 위 권장사양으로 충분히 해결 가능하여, 작성하지 않았습니다.