CI 묻고 답하기

제목 [초보질문]mysql_real_escape_string에 관하여
글쓴이 헛발이 작성시각 2009/11/24 10:00:49
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 26839   RSS
일반 PHP에서는
$SQL = sprintf("SELECT * FROM %s WHERE title='%s'",
       mysql_real_escape_string($tblName),
       mysql_real_escape_string($title)
       );
이런식으로 만들어 했었는데요..
CI에서는 WHERE같은거 할때 mysql_real_escape_string 안해도 되나요?
그냥 ..
$this->db->where('name', $name); 
이렇게만 해도 되나요?
 다음글 [초보] 페이징 하는데요.. (2)
 이전글 CLE 의 MY_PageController 의 의문점 (2)

댓글

ci세상 / 2009/11/24 10:15:42 / 추천 0
mysql_driver.php > 285줄 > escape_str 이 부분을 엑티브레코드는 기본적으로 다 거쳐서 나오고 있습니다.

주의: 이 함수로 전달되는 모든 변수는 자동으로 이스케이프 되어 안전한 쿼리를 생성합니다.


메뉴얼 : http://codeigniter-kr.org/user_guide/database/active_record.html

=> $this->db->where(); 부분에 좀더 자세한 내용이 있습니다.
변종원(웅파) / 2009/11/24 10:44:45 / 추천 0

codeigniter에서 액티브레코드를 쓰라고 권장하는 이유가 쿼리가 직관적이고
편한 것도 있지만 보안측면에서 자동으로 처리를 해주기 때문입니다. ^^
이또한 매뉴얼에 잘 나와있습니다. ^^

헛발이 / 2009/11/24 11:04:05 / 추천 0
그렇군요.. 항상 친절한 답변 감사드립니다..