CI 묻고 답하기

제목 db에서 괄호 사용 방법
글쓴이 대마불사 작성시각 2012/02/14 16:24:10
댓글 : 7 추천 : 0 스크랩 : 0 조회수 : 18226   RSS
 select * form tbl where name='(하하)' and yy=2012

Ajax로 이런 검색을 하기 위해

url/srch/2012/(하하)

주소를 입력하면 오류는 없는데 결과값을 못가지고 옮니다.

url/srch/2012/노노

이렇게 하면 결과값을 가져옵니다.

echo로 찍힌 값을 db유틸에서 하면 이상없이 잘 됩니다.

근데 왜? db->query 로는 결과값을 못 가져 오는 걸까요?

한글문제인가 싶었는데 괄호가 없는 건 잘 가져옵니다.

괄호가 들어간 쿼리문은 결과를 가져오지 못합니다. (에러 아님)

이거 어떻게 해결해야 될까요?
 다음글 세션문제 (1)
 이전글 쿼리문에 자동으로 ` 가 붙는데요. (1)

댓글

헛발이 / 2012/02/14 16:27:20 / 추천 0
원래 기본 코드이그나이터에서는 설정에
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
이렇게 되어 잇기 때문에 URL에 괄호를 하면 안될거 같은데요... 요부분은 먼저 해결 하신건가요?
대마불사 / 2012/02/14 16:30:43 / 추천 0
퍼미션 문제가 있어서 
$config['permitted_uri_chars'] = '';
이렇게 설정해 놨습니다.

대마불사 / 2012/02/14 16:43:23 / 추천 0
 소스는
$this->db->select('company,mm,cnt');
$this->db->from($this->v_tbl);
$this->db->where('yy',$yy);
$this->db->where('lecture',$lec);
$this->db->order_by('mm','asc');
$rt = $this->db->get();
이렇게 됩니다.
$lec 에 한글, 영어등은 문제없이 값을 가져오는데
괄호가 들어간 건 값을 가져오지 못합니다.
왜 그럴까요?
milosz / 2012/02/14 16:48:06 / 추천 0
인코딩 문제이거나 액티브 레코드에서 걸러내는 것 같습니다.
$this->db->where('lecture',$lec,false);

답이 아닐 가능성이 농후합니다만;;
대마불사 / 2012/02/14 16:57:42 / 추천 0
 안되네요...
인코딩 문제는 아닌것 같습니다. 다른 한글 쿼리는 잘 되거든요..
CI의 db에 문제가 아닐까 싶은데...
어떻게 해결해야 될지 막막하군요... ㅜ.ㅜ;
이것때문에 Data를 바꾸기도 뭐하고.. 헐...
변종원(웅파) / 2012/02/14 17:24:40 / 추천 0
소스상에서 $lecture 출력했을 때 (하하) 라고 나오는지요? 브라우저에서 주소변환해서 다르게 .나올텐데요
대마불사 / 2012/02/14 17:33:19 / 추천 0
 ^^;
쩝~ 브라우저에 찍히는것만 봐서 같은줄 알았는데
( 이것이 ( 였네요..
해결 했습니다