Ticker

6/recent/ticker-posts

Header Ads Widget

Setting Koneksi single dan Multi Dabatabase Framework Codeigniter (CI)

Assalmualaikum Warahmatullahi Wabarakatu
Bismilahirrahmanirrahiim

Dalam membangun sebuah project website kita tidak perna lepas dari yang namanya database, dalam framework codeigniter ketika kita ingin berinteraksi dengan database kita bisa membuat single (satu) dan multi (banyak) koneksi untuk dapat terhubung dengan database yang ada di server kita, disini saya menggunakan database MySQL. Sebelum kita masuk ke pembahasan MVC (Model View Controller) di codeigniter terlebih dahulu kita setting untuk koneksi database. Oke langsung saja….

Pertama Single Koneksi
Untuk mengatur koneksi database di framework codeigniter cari file yang bernama database.php ia terletak di folder application/config, folder application terdapat didalam folder aplikasi codeigniter milik sobat, contohnya folder saya terletak di C:\xampp\htdocs\codeigniter\application\config, setelah file database terbuka akan terlihat seperti script dibawah ini, dan lakukan penyettingan koneksi.

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
$db['default'] = array(
 'dsn' => '',
 'hostname' => 'localhost', //nama server sobat
 'username' => 'root', //nama user database sobat
 'password' => '',  //password database sobat kalau tidak ada kosongkan
 'database' => 'dbci', //nama database milik sobat
 'dbdriver' => 'mysqli', //codeigniter 3 mengggunakan driver 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
);

Untuk mengetes apakah koneksi kita benar atau tidak , maka jalankan aplikasi sobat, jika koneksi gagal akan terjadi error dan ada pesan seperti gambar dibawah ini , dan jika berhasil maka tidak terjadi ada error.



Kedua Multi Koneksi Database
Untuk mengatur multi koneksi database di framework codeigniter cari file yang bernama database.php ia terletak di folder application/config, folder application terdapat didalam folder aplikasi codeigniter milik sobat, contohnya folder saya terletak di C:\xampp\htdocs\codeigniter\application\config, setelah file database terbuka akan terlihat seperti script dibawah ini, dan lakukan penyettingan multi koneksi.

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
$db['default'] = array(
 'dsn' => '',
 'hostname' => 'localhost',
 'username' => 'root',
 'password' => '',
 'database' =>dbci,
 '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['test'] = array(
 'dsn' => '',
 'hostname' => 'localhost',
 'username' => 'root',
 'password' => '',
 '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
);

Setelah dilakukan settingan koneksi multi database diatas maka load database di controller Aplikasi dan di Model Aplikasi ini merupakan controller dan model yang saya gunakan pada tutorial ini sobat bisa buat sendiri sesuai keinginan sobat, seperti script dibawah ini :

Controller Aplikasi
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Aplikasi extends CI_Controller {

 public function __construct()
 {
  parent::__construct();
  //load database kedua dengan nama dbtest
  $this->dbtest = $this->load->database('test', TRUE);
 }

 public function index()
 {
  echo "Bismillahirahmanirrahim 
";
  echo "Hello World";
 }

//untuk mengetest apa koneksi database kedua berhasil
public function dbtest(){
        $query = $this->dbtest->get('multi');
        $row = $query->row();
        echo $row -> name."
";
        echo $row -> desc."
";
        echo $row -> date."
";
}

}

Model Aplikasi
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Aplikasi extends CI_Model {

 public function __construct()
 {
  parent::__construct();
  //load database kedua dengan nama dbtest
  $this->dbtest = $this->load->database('test', TRUE);
  
 }

}

Sebelum sobat menjalankan controller dbtest pada aplikasi buat dulu tabel didalam database test dengan nama multi .

CREATE TABLE `multi` (
  `multi_id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `desc` varchar(255) DEFAULT NULL,
  `date` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`multi_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
Kemudian isi datanya , setelah itu panggil controllernya http://localhost/codeigniter/aplikasi/dbtest, jika sukses maka data pada tabel multi akan tampil, seperti gambar dibawah ini .




Penejelasan
Untuk load database default atau yang pertama kita gunakan script
$this->db->get('name_table');
Untuk load database yang kedua kita gunakan script
$this->dbtest->get('name_table');
Karena dbtest adalah nama variabel untuk meload database test ke dalam controller milik kita.
$this->dbtest = $this->load->database('test', TRUE);

sampai disini dulu tutorial dari saya , Semoga tutorial ini bermanfaat bagi sobat, atas segala kekuranganya mohon dimaafkan dan di beri saran PDF -NYA belum tersedia.

Post a Comment

0 Comments

Rekomendasi Untuk Anda × +