제목 | or_like 질문입니다. | ||
---|---|---|---|
글쓴이 | 템포 | 작성시각 | 2013/01/11 18:13:45 |
|
|||
쿼리 문제상 like 쓰고 or like를 써서 조인을 하는데요 or을 걸어버리니 where .... 컬럼 LIKE '%test%' escape '!' OR 컬럼2 LIKE '%te%' escape '!' 이렇게 하면 데이터가 안나오구 where .... 컬럼 LIKE '%test%' escape '!' OR 컬럼2 LIKE '%%' escape '!' 이렇게 하면 다른 WHERE 조건 절 무시하고 모든 데이터가 나옵니다. 쿼리할때보면 OR쓸때 () 괄호 해서 우선연산자 쓰는것도 있던걸로 기억하는데 CI에서 사용가능한가요? DB는 오라클 DB 사용중입니다. |
|||
다음글 | 코드이그나이터 메모리 사용량에 관한 질문 (6) | ||
이전글 | 배열들을 다른 파일에서 사용하기. (4) | ||
변종원(웅파)
/
2013/01/11 18:21:45 /
추천
0
|
템포
/
2013/01/11 18:26:36 /
추천
0
웅파님 답변 감사합니다
like절이 or조건절인데 like절을 따로 sql문 쓰는게 아니라 where 조건절을 따로 쓰는건가요 ? |
한대승(불의회상)
/
2013/01/11 18:57:29 /
추천
0
템포// $this->db->where() 를 사용하라는 뜻입니다.
$this->db->where("컬럼 LIKE '%test%' escape '!' OR 컬럼2 LIKE '%te%' escape '!' ", NULL, FALSE);로 사용하시면 됩니다. |
니삼
/
2013/01/11 19:46:40 /
추천
0
직접 sql문을 쓰시니까 sql injection같은 공격에도 충분히 대비하시길~
|
템포
/
2013/01/14 08:59:51 /
추천
0
답변 감사들합니다~
아 그런뜻이었군요.. 저는 $q = $this->db->last_query 해서 where절을 "sql문..."으로 작성했었네요 ;; 불의회상님 덕분에 코드를 줄이게 됐네요 감사합니다ㅎ |
where 부분만 sql문으로 작성해서 쓰시면 됩니다.