Database
Framework CodeIgniter mendukung banyak jenis database misalnya MySQL, PostGre SQL, Oracle dan lain-lain. Dukungan database dari CodeIgniter berupa penyediaan beberapa driver database yang sekaligus juga memiliki fungsi sekuriti, caching dan active record.
Connect ke Database
Agar dapat melakukan koneksi dengan database, yang harus dilakukan adalah konfigurasi database pada file application/config/database.php
seperti berikut :
Diatas menggunakan array multi dimensi Karena lebih simple dan dapat menyimpan lebih dari satu konfigurasi koneksi.
Cara untuk dapat mengkoneksikan database :
CodeIgniter memiliki sebuah file konfigurasi yang memungkinkan Anda menyimpan konfigurasi untuk melakukan koneksi ke database (username, password, nama database dan lain-lain). File konfigurasi terletak di application/config/database.php
.
Untuk connect ke database ada beberapa cara yang dapat dilakukan diantarannya:
- Menambahkan Database Library sebagai Autoload Library
Untuk connect ke database bisa dengan cara menambahkan database sebagai autoload library di fileapplication/config/autoload.php
.$autoload[‘libraries’] = array(“database”);
- Mengaktifkan Manual Dari Library Database
Jika hanya halaman website yang memerlukan konektivitas database, maka untuk optimalisasi, lakukan koneksi ke database secara manual, dengan menambahkan baris kode di bawah ini pada tiap fungsi tempat yang membutuhkan koneksi database atau dalam konstruktor kelas untuk membuat database yang tersedia secara global di kelas.$this->load->database();
Code diatas jika tidak berisikan informasi apapun pada parameter pertama maka akan menyambung pada group konfigurasi yang aktif. Untuk memilih kelompok tertentu dari file konfigurasi, dapat melakukan seperti hal berikut ini (berguna untuk aplikasi yang memiliki 2 database).
$this->load->database(‘group_name’);
Group_name adalah nama grup konfigurasi dari file konfigurasi Anda.Contoh penggunaannya :
Cara memanggilnya pada file model di sisi construct adalah :
$this->db2 = $this->load->database('database_dua', TRUE);
Perbedaan koneksi ke database 1 dan database 2, terletak pada $this->db atau $this->db2.
- Mengaktifkan Manual Dari Model
Cara yang ketiga adalah mengaktifkan database pada saat loading model. Caranya dengan mengeset TRUE pada parameter ketiga load model. Contoh :$this->load->model(‘nama_model’,’ ’,TRUE);
CodeIgniter Model
Model pada CodeIgniter adalah sebuah kelas php yang berfungsi untuk menangani data. Kelas model di-extend ketika hendak menggunakan fitur database pada CodeIgniter saja. Semua file model harus diletakkan di dalam folder application/models. Untuk me-load model kita dapat menggunakan perintah berikut :
$this->load->model(‘nama_model’);
Jika sudah berhasil me-load sebuah model maka model tersebut akan menjadi sebuah property, dari property itulah akan dapat menggunakan semua fungsi yang ada di dalam file model.
Melakukan Query pada Database
Query dilakukan untuk dapat mengambil data pada database.
$query=$this->db->query(‘Query_SQL’);
Query diatas belum menghasilkan data apapun. Keluarannya hanya berupa Object(true) atau false. Ketika keluarannya False berarti query yang dilakukan gagal. Tetapi jika true atau mengembalikan sebuah object maka query yang dilakukan telah berhasil.
Dari object tersebut (variable $query, mengacu pada contoh diatas) dapat menggambil data yang diinginkan. Contohnya :
$query=$this->db->query(‘SELECT nama, judul, email FROM tabel’);
foreach ($query->result() as row)
{
echo $row->nama;
echo $row->judul;
echo $row->email;
}