CI 묻고 답하기

제목 Query Hooking 질문입니다.
글쓴이 울트라맨 작성시각 2015/01/09 14:27:57
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 13363   RSS
query를 하나 날릴시에 그 쿼리를 hooking을 하고싶습니다.
CI의 HOOK를 이용하여 잡기는했는데
한번에 여러개의 쿼리를 날릴시에는 못잡더라구요
쿼리 한번 날릴때마다 한번씩 잡을 수 있는 방법이 없을까요??

음..이걸 원하는 이유는 일종의 쿼리의 로그를 쌓는다고 말씀드릴것같습니다.
타임라인 만들려고 하거든요
그래서 쿼리가 발생시에 자동으로 해당 테이블이라던지 내용을 가져올려고하는데, 한번에 여러개의 쿼리가 실행되면 안되더라구요.

어떻게 해야할지 도움좀 주세요.
쿼리 한개당 한번씩 후킹할수있는 방법이 없을까요??
 다음글 라이브러리 파일명과 클래스명이 다를땐 어떻게 호출 하나... (1)
 이전글 코드이그나이터 이메일 전송 질문입니다 ㅠ (2)

댓글

변종원(웅파) / 2015/01/09 14:52:27 / 추천 0
database core를 수정해서 쿼리 실행함수에 로그 함수 하나 넣으면 될것 같습니다.
 
울트라맨 / 2015/01/09 17:00:47 / 추천 0
DB_driver.php의 query()함수인것까지는 파악했습니다.
아..core까지 수정해야 하는건가요??
DB_driver 클래스를 상속받아서 override할수있는 방법은 없을까요??
변종원(웅파) / 2015/01/09 17:15:56 / 추천 0
database는 상속 안됩니다. 그냥 수정하는 수 밖에 없습니다.

로그함수 하나 만드시고 필요한 시점에 추가해주시는게 나을것 같네요.
울트라맨 / 2015/01/09 17:31:16 / 추천 0
네 감사합니다~