cara membuat multi database koneksi pada codeigniter
salam, sehat selalu dan tetap semangat, kali ini saya akan menjelaskan tentang cara membuat koneksi multi database dan switch database yang memungkinkan dalam satu framework codeigniter bisa terkoneksi lebih dinamis, okey langsung saja,
ini stepnya.
1. membuat koneksi database pada folder config, buka file database.php
2. membuat fungsi pada library caranya, buat sebuah file pada folder library general.php
3. merubah isi file route sesuai link yg akan kita tentukan
4. memanggil fungsi general dengan meletakan di class general pada autoload.php
5. membuat session untuk memanggil general tersebut
okey mungkin agak pusing sedikit memahami yg saya terangkan, kita langsung saja ke koding
step 1
sisipkan script ini pada file database.php
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'database_name';
$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_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
$db['default2']['hostname'] = 'localhost';
$db['default2']['username'] = 'root';
$db['default2']['password'] = '';
$db['default2']['database'] = 'database_name2';
$db['default2']['dbdriver'] = 'mysql';
$db['default2']['dbprefix'] = '';
$db['default2']['pconnect'] = TRUE;
$db['default2']['db_debug'] = TRUE;
$db['default2']['cache_on'] = FALSE;
$db['default2']['cachedir'] = '';
$db['default2']['char_set'] = 'utf8';
$db['default2']['dbcollat'] = 'utf8_general_ci';
$db['default2']['swap_pre'] = '';
$db['default2']['autoinit'] = TRUE;
$db['default2']['stricton'] = FALSE;
step 2
membuat file general.php yang di letakan pada folder libraries berikut isinya
<?php
class General {
var $ci;
function __construct() {
$this->ci = &get_instance();
}
function cek_database() {
if ($this->ci->session->userdata('client') == "default2"){
$this->ci->db = $this->ci->load->database('default2', TRUE);
} else {
$this->ci->db = $this->ci->load->database('default', TRUE);
}
}
}
?>
step 3
menyisipkan script pada file routes.php
$route['default_controller'] = "home";
$route['default2'] = "home/default2";
$route['404_override'] = '';
step 4
mnyisipkan script pada file autoload.php
$autoload['libraries'] = array('session','form_validation','general');
step 5
membuat fungsi pada saat pertama kali web base url pada codeigniter di panggil, buka folder controller dan bikin file home.php dan bikin fungsi sebagai berikut
function default2() {
$sess_data=array('client' => 'default2');
$this->session->set_userdata($sess_data);
$this->load->view('index.php');
}
setelah ke 5 step telah di jalankan kita perlu mengaktifkan atau menjalankan library general tersebut dengan cara
panggillah fungsi general sprti berikut
$this->general->cek_database();
dan letakkan di parent contruction lengkapnya seprti ini
function __construct(){
parent::__construct();
$this->general->cek_database();
}
selamat mencoba, dan ini sudah berhasil saya gunakan
ini stepnya.
1. membuat koneksi database pada folder config, buka file database.php
2. membuat fungsi pada library caranya, buat sebuah file pada folder library general.php
3. merubah isi file route sesuai link yg akan kita tentukan
4. memanggil fungsi general dengan meletakan di class general pada autoload.php
5. membuat session untuk memanggil general tersebut
okey mungkin agak pusing sedikit memahami yg saya terangkan, kita langsung saja ke koding
step 1
sisipkan script ini pada file database.php
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'database_name';
$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_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
$db['default2']['hostname'] = 'localhost';
$db['default2']['username'] = 'root';
$db['default2']['password'] = '';
$db['default2']['database'] = 'database_name2';
$db['default2']['dbdriver'] = 'mysql';
$db['default2']['dbprefix'] = '';
$db['default2']['pconnect'] = TRUE;
$db['default2']['db_debug'] = TRUE;
$db['default2']['cache_on'] = FALSE;
$db['default2']['cachedir'] = '';
$db['default2']['char_set'] = 'utf8';
$db['default2']['dbcollat'] = 'utf8_general_ci';
$db['default2']['swap_pre'] = '';
$db['default2']['autoinit'] = TRUE;
$db['default2']['stricton'] = FALSE;
step 2
membuat file general.php yang di letakan pada folder libraries berikut isinya
<?php
class General {
var $ci;
function __construct() {
$this->ci = &get_instance();
}
function cek_database() {
if ($this->ci->session->userdata('client') == "default2"){
$this->ci->db = $this->ci->load->database('default2', TRUE);
} else {
$this->ci->db = $this->ci->load->database('default', TRUE);
}
}
}
?>
step 3
menyisipkan script pada file routes.php
$route['default_controller'] = "home";
$route['default2'] = "home/default2";
$route['404_override'] = '';
step 4
mnyisipkan script pada file autoload.php
$autoload['libraries'] = array('session','form_validation','general');
step 5
membuat fungsi pada saat pertama kali web base url pada codeigniter di panggil, buka folder controller dan bikin file home.php dan bikin fungsi sebagai berikut
function default2() {
$sess_data=array('client' => 'default2');
$this->session->set_userdata($sess_data);
$this->load->view('index.php');
}
setelah ke 5 step telah di jalankan kita perlu mengaktifkan atau menjalankan library general tersebut dengan cara
panggillah fungsi general sprti berikut
$this->general->cek_database();
dan letakkan di parent contruction lengkapnya seprti ini
function __construct(){
parent::__construct();
$this->general->cek_database();
}
selamat mencoba, dan ini sudah berhasil saya gunakan
Komentar
Posting Komentar