Cara Query Database pada CodeIgniter Versi 3

Query database adalah proses mengambil data dari database menggunakan perintah tertentu. Data yang disimpan di dalam database (relational) adalah data yang terstruktur sehingga membutuhkan perintah SQL untuk mengambil data yang tersimpan di dalam database.

Dengan menggunakan SQL (Structured Query Language) kita dapat membuat perintah spesifik untuk mengambil data dari dalam database. Kita juga dapat melakukan pemfilteran, pengurutan, pengelompokan, dan berbagai operasi lain sesuai dengan kebutuhan kita.

2 Macam Cara Query Database pada Framework CodeIgniter

Pada artikel kali ini, saya akan membahas mengenai 3 macam cara melakukan query database pada framework CodeIgniter. Framework CodeIgniter yang saya gunakan kali ini adalah framework CI versi 3, yaitu CodeIgniter v3.1.13 

Saat ini versi terbaru CodeIgniter adalah versi 4, anda bisa melihat tulisan saya tentang cara melakukan query database pada CodeIgniter 4 pada link berikut.

1. Menggunakan Raw Query

Cara pertama dan yang paling simple adalah menggunakan Raw Query, atau yang di dokumentasi CodeIgniter disebutkan dengan istilah “query basics”.

Cara ini sangat mudah, kita hanya perlu menggunakan syntax SQL seperti biasa, kemudian menjalankan fungsi query seperti pada code di bawah ini:

$this->db->query('SELECT * FROM users');

Yang harus diperhatikan ketika menggunakan query basics atau raw query ini adalah: kita harus menggunakan binding ketika melakukan passing parameter ke dalam database. Hal ini dilakukan agar kode yang kita buat aman dari SQL Injection.

Berikut ini adalah contoh ketika menggunakan parameter binding pada query CodeIgniter.

$this->db->query('SELECT * FROM users WHERE id=?', [$id]);

2. Menggunakan Query Builder

Query builder adalah fitur yang sudah lazim ada di setiap framework PHP. Query builder memudahkan programmer untuk membuat query yang bersifat independent terhadap database yang digunakan.

Artinya, dengan menggunakan query builder, jika anda mengubah jenis database yang digunakan, maka anda tidak perlu melakukan perubahan pada kode query yang dibuat.

Berikut ini adalah contoh penggunaan query builder pada CodeIgniter 3:

<?php

$this->db->select('*');
$this->db->from('users');
$this->db->join('roles', 'roles.id = users.role_id');
$this->db->where('users.id', $id);
$query = $this->db->get();

Kelebihan yang lain dari penggunaan query builder adalah, secara otomatis parameter yang ada di dalam fungsi query tersebut akan dilakukan escape karakter, sehingga meminimalisir terjadinya SQL Injection.

Demikian 2 macam cara query database pada framework CodeIgniter 3. Pada praktiknya, mungkin programmer akan menggunakan mana yang lebih simple untuk melakukan query.

Semoga bermanfaat.

Leave a Comment