제목 | sql간단한거 질문드립니다. | ||
---|---|---|---|
글쓴이 | jackie | 작성시각 | 2016/04/06 10:53:12 |
|
|||
$id=13,15,17,19,20 public function get_ids($id){ $query = ' SELECT * FROM news WHERE rss_rss_id IN ('.$id.')'; return $this->db->query($query)->result(); } 이렇게 직접 넣으면 잘 작동하는데요 public function get_ids($id){ $query = ' SELECT * FROM news WHERE rss_rss_id IN (?)'; return $this->db->query($query,$id)->result(); } 이렇게 프리페어드 쿼리 하면 id=13일때 것만 되는데요. 무슨 문제가 있을까요???
|
|||
다음글 | 팝업 이미지 깨지는 현상 (1) | ||
이전글 | 맥북에 추천할 PHP 개발툴 ? (9) | ||
배강민
/
2016/04/06 11:00:50 /
추천
1
|
jackie
/
2016/04/06 11:39:33 /
추천
0
그럼 '<- 상쇄시키려면 어떻게 해야할까요??// 일단 검색해보겠습니당!
|
kaido
/
2016/04/06 11:58:08 /
추천
0
@jackie $sql = "INSERT INTO table (title) VALUES(".$this->db->escape($title).")"; 이스케이프 문을 같이 넣어주시면 더욱 안전 합니다. [그와 동시에 고민도 같이 해결] 액티브레코드로 작성 하시면 자동으로 이스케이프가 들어갑니다. |
바인딩을 하면
IN ('13,15,17,19,20') 이렇게 커테이션이 씌워지게 되서 그렇습니다.
프로파일러를 출력해보시면 두개의 쿼리가 다를겁니다.