| 제목 | 데이터베이스 클래스에 데이터베이스를 선택하는 기능이 있나요? | ||
|---|---|---|---|
| 글쓴이 | cowboyjs | 작성시각 | 2012/11/21 18:48:30 | 
| 
                         | 
                |||
| 
                         DB01, DB02 라는 2개의 데이터베이스를 만들고
 test라는 아이디를 생성해서 
위 2개의 데이터베이스 모두에 접근할 있게 권한을 줬습니다. 
php의 mysqli를 이용해서 
$DBConn=new mysqli('localhost', 'test', '1234', 'DB01', 3306); 
이렇게 연결을 하면 
$DBConn->select_db('DB02'); 
이런식으로 사용할 데이터베이스를 선택할 수 있는데요, 
CodeIgniter의 데이터베이스 클래스에도 같은 기능이 있나요? 
매뉴얼에는 다중으로 여러개 연결하는 방법은 있던데 
하나의 연결에서 사용할 데이터베이스를 선택하는건 못 찾겠네요. 
                        
                     | 
                |||
| 다음글 | model - control -view query 문 ... (6) | ||
| 이전글 | anchor에 클래스 먹일 수 있을까요? (2) | ||
| 
                             
                                헛발이
                                /
                                2012/11/21 18:52:28 /
                                추천
                                0
                             
                             | 
                    
| 
                             
                                한대승(불의회상)
                                /
                                2012/11/21 18:55:46 /
                                추천
                                0
                             
                            
                                DB전체를 바꿔가며 작업한다면 헛발이님 방식대로 하시면 되구요. 
                        어떤 한 모델에서 DB를 바꿔 가면서 작업한다면 아래를 참고 하세요. http://www.cikorea.net/tip/view/914/page/1/  | 
                    
| 
                             
                                cowboyjs
                                /
                                2012/11/21 19:10:01 /
                                추천
                                0
                             
                            
                                 답변들 감사합니다. ^^
 
                        음... 제가 원하는게 
database.php 파일에는 
$db['default']['hostname'] = 'localhost'; 
$db['default']['username'] = 'test'; 
$db['default']['password'] = '1234'; 
$db['default']['database'] = 'DB01'; 
$db['default']['dbdriver'] = 'mysql'; 
$db['default']['dbprefix'] = ''; 
$db['default']['pconnect'] = TRUE; 
$db['default']['db_debug'] = TRUE; 
$db['default']['cache_on'] = FALSE; 
$db['default']['cachedir'] = ''; 
$db['default']['char_set'] = 'utf8'; 
$db['default']['dbcollat'] = 'utf8_unicode_ci'; 
$db['default']['swap_pre'] = ''; 
$db['default']['autoinit'] = TRUE; 
$db['default']['stricton'] = FALSE; 
위 같이 DB연결 정보가 하나만 있구요. 
(test라는 아이디로 DB01, DB02 2개 데이터베이스 모두 접근가능) 
class Main extends CI_Controller{ 
 function index(){ 
  $q=$this->db->get('member'); 
  $result=$q->result(); 
  //DB01의 member 테이블 데이터 가져오기 
  $this->db->select_db('DB02'); 
  //DB02 데이터베이스를 선택 
  $q=$this->db->get('member'); 
  $result=$q->result(); 
  //DB02의 member 테이블 데이터 가져오기 
 } 
} 
대충 이런식으로 사용 가능할까요? 
                             | 
                    
| 
                             
                                한대승(불의회상)
                                /
                                2012/11/21 19:11:59 /
                                추천
                                0
                             
                            
                                DB2에도 접근 권한이 있다면 굳이 그럴 필요 없이.. 
                        
$this->db->get('DB02.member'); | 
                    
| 
                             
                                cowboyjs
                                /
                                2012/11/21 19:16:06 /
                                추천
                                0
                             
                            
                                앞에 DB명을 붙이는 방식으로 해야하는군요. ㅋ; 
                        답변 감사합니다. ^^  | 
                    
$active_group = 'DB2'; 를 바꿔주면 전체 시스템에서 이걸로 했따 저걸로 했따 한데...
이런걸 말씀 하시는건가요?