개발 Q&A

제목 ci + mssql 로직 문의 드립니다.
카테고리 PHP
글쓴이 경상도곰남 작성시각 2017/02/13 10:42:24
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 11187   RSS

로그인 할 때 선택값에 의하여 데이터베이스 접속을 할려고 합니다.

테이블 구조와 테이블명은 모두 일치하구요.. 

로그인 할때 A를 선택해서 로그인을 하면 로그인 해 있는 동안은 A의 데이터 베이스에 접속 해서 프로그램 처리를 하구요..

B를 선택해서 로그인 하면 B의 테이터 베이스에 접속해서 프로그램 처리를 할려고 합니다.

고려해야 할 점은 사용자 로그인 정보가 모두 틀립니다. A의 사용자 정보와 B의 사용자 정보가 틀립니다.

 

로그인 할 때 선택값을 세션에 담아서  그 세션 값을 db 컨넥션에 사용해야 할지?

아님 다른 방법이 있으시면 조언 부탁드립니다.

 

고수님들의 답변 부탁드립니다.

 

그리고 데이터베이스 옵션에 autoinit = false로 했을 경우 문제가 있을 까요?

 

 다음글 CI 에서 브라우저 URL로 이미지 파일 접근 제한을 ... (3)
 이전글 쉘스크립트에서 cd를 사용하여 상위폴더로 이동할려고 하... (6)

댓글

kaido / 2017/02/13 10:51:48 / 추천 0

A 와 B가 뭘 의미 하는 것이죠?

로그인 할때 선택 하는 값인가요? 

 

그렇다면 세션을 줘서 세션값 기준으로 데이터베이스 분류 시켜주면 됩니다.

 

저같은 경우엔 이런 방법을 선택했습니다.

// constants.php

//DB 컨트롤
if(strpos($_SERVER['SERVER_NAME'],"test") !== false){
	define("WEB_DB",  'test'); //DB 셀렉트
}else{
	define("WEB_DB",  'real'); //DB 셀렉트
}

//database.php
$db['test'] = array(...);
$db['real'] = array(...);


//model
$DB = $this->load->database(WEB_DB, TRUE);
$sql = $DB->get('tb_member');
...

분류가 많아지면 직관적으로 분류하려고 상수 설정으로 잡고 설계해 두었습니다.

물론 훅으로 처리 한다든지, 방법은 자유입니다.