CI 묻고 답하기

제목 디비연결 라이브러리 사용방법 고수님들 좀 봐주세요 ㅠㅠ
글쓴이 용준(쭌) 작성시각 2014/10/05 20:54:12
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 14913   RSS
디비 접속을 하는 라이브러리를 만들어서 아래와 같이 사용하고 있습니다.
DB_HOSTNAME, DB_USERNAME, DB_PASSWORD : 상수로 선언

//라이브러리 __construct
$this->resConn = mssql_connect(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD) or die("ERROR connection server");

하고자 하는 것은
1. 각 모델마다 접속하는 데이터베이스 설정을 다르게 하고 싶습니다.
   물론 database.php에서 각 계정별 세팅을 해서
   $this->load->database($dsn); 해주는 것 까지는 확인을 했습니다.

2. 그런데 저의 경우에는 위에서 말씀드린것 처럼  라이브러리에서 커넥되는
   $this->resConn = mssql_connect(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD)
    파란 부분을 동적으로 세팅을 해줘야 합니다.

3. 그래서 아래 방법으로 파람으로 변수를 넘겨서
   $this->load->library('test/mssql', $params, 'BETA'); (모델에서 호출)
   커넥션 스트링을 변경해주는 방법으로 문제를 해결했습니다..
$this->resConn = mssql_connect($params['DB_HOSTNAME'], $params['DB_USERNAME'], $params['DB_PASSWORD'])

문제는!
1. 라이브러리의 소멸시점이 언제인지 모르겠습니다.
하나의 클래스에서 여러번의 라이브러리를 호출할 때 다른 객체로 사용하려면
$this->load->library('test/mssql', '','test1');
저렇게 test1을 선언해야 하나요?
선언없이 각 모델에서 각각의 라이브러리를 다른 객체로 선언하여 사용하려면 어떻게 해야하나요?

2. 첫번째 모델호출 후 $this->wblib_mssql->CloseDB();를 하고
   두번째 모델에서 라이브러리를 호출하면
   Message: mssql_init() expects parameter 2 to be resource, null given 에러가 떨어집니다.
 다음글 ajax 질문좀 드리겠습니다. (6)
 이전글 질문... (2)

댓글

한대승(불의회상) / 2014/10/06 12:08:25 / 추천 0
게시판 이동 합니다.
변종원(웅파) / 2014/10/06 13:41:56 / 추천 0
http://cikorea.net/user_guide_2.1.0/database/connecting.html
매뉴얼에 있습니다. 여러 데이터베이스 연결...