개발자의 끄적끄적

[php/codeigniter] codeigniter multi database connect example / 코드이그나이터 다중 디비 연결하는 방법 본문

개발/php

[php/codeigniter] codeigniter multi database connect example / 코드이그나이터 다중 디비 연결하는 방법

효벨 2021. 9. 2. 01:00
728x90
반응형

[php/codeigniter] codeigniter multi database connect example / 코드이그나이터 다중 디비 연결하는 방법

 

 

php codeigniter 3 에서

 

한 서비스에서

 

다중 데이터베이스를 접속해야하는 경우가 

 

종종 있습니다.

 

그럴때는 아래와 같이 사용하시면 됩니다!

 

 

우선 config/database.php 파일을 열고

$db['default'] = array(
    'dsn'    => '',
    'hostname' => 'localhost',
    'username' => 'root',
    'password' => '1234',
    'database' => 'test',
    'dbdriver' => 'mysqli',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => (ENVIRONMENT !== 'production'),
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);

 

 

위와 같이 되어있는 부분을 아래와 같이

 

second 라는 명으로 접속설정을 추가합니다.

 

$db['default'] = array(
    'dsn'    => '',
    'hostname' => 'localhost',
    'username' => 'root',
    'password' => '1234',
    'database' => 'test',
    'dbdriver' => 'mysqli',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => (ENVIRONMENT !== 'production'),
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);

$db['second'] = array(
    'dsn'    => '',
    'hostname' => 'localhost',
    'username' => 'root',
    'password' => '1234',
    'database' => 'test',
    'dbdriver' => 'mysqli',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => (ENVIRONMENT !== 'production'),
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);

 

그리고 사용하시려는 컨트롤러나 모델에 가서

 

아래와 같이 second 데이터베이스를

 

$this->db2 에 로드합니다.

 

$this->db2 = $this->load->database('second', TRUE); 

 

그리고는 아래와 같이 사용하시면 됩니다!

 

$this->db2->get("test");

 

참고들 하세요!

반응형
Comments