Cara Menghubungkan CodeIgniter dengan Database MySQL

CodeIgniter 4 dikenal sebagai framework PHP yang ringan, cepat, dan mudah digunakan ⚡. Salah satu langkah penting dalam membangun aplikasi berbasis CodeIgniter adalah menghubungkannya dengan database MySQL. Dengan koneksi database yang benar, kamu bisa melakukan operasi seperti insert, update, delete, dan select dengan mudah ๐.
Pada panduan ini, kita akan membahas langkah demi langkah bagaimana cara menghubungkan CodeIgniter 4 dengan database MySQL, mulai dari konfigurasi hingga pengujian koneksi ✅.
1. Persiapan Awal
Pastikan Lingkungan Siap
Sebelum memulai, pastikan kamu telah memiliki hal-hal berikut:
- ✅ PHP versi 7.4 atau lebih tinggi
- ✅ Server lokal seperti XAMPP, Laragon, atau MAMP
- ✅ MySQL atau MariaDB aktif di komputer kamu
- ✅ Framework CodeIgniter 4 sudah terinstal dan bisa dijalankan
Jika kamu belum menginstal CodeIgniter 4, kamu bisa membuatnya dengan perintah berikut:
composer create-project codeigniter4/appstarter ci4_mysql 2. Membuat Database di MySQL
Langkah Pertama: Buat Database
Buka phpMyAdmin atau terminal MySQL, lalu buat database baru. Misalnya:
CREATE DATABASE ci4_database; Pastikan database berhasil dibuat dengan nama yang akan digunakan nanti untuk konfigurasi CodeIgniter ๐️.
3. Konfigurasi File .env di CodeIgniter
Aktifkan dan Atur Koneksi Database
Masuk ke folder proyek CodeIgniter kamu dan temukan file bernama .env. File ini digunakan untuk menyimpan konfigurasi lingkungan (environment variables).
Jika file .env belum aktif, salin file env dan ubah namanya menjadi .env. Kemudian buka file tersebut dan ubah bagian konfigurasi database seperti berikut:
database.default.hostname = localhost database.default.database = ci4_database database.default.username = root database.default.password = database.default.DBDriver = MySQLi database.default.DBPrefix = database.default.port = 3306 ๐ก Jika kamu menggunakan password MySQL, jangan lupa isi pada bagian database.default.password.
4. Memastikan Driver MySQL Aktif
Periksa Ekstensi PHP
CodeIgniter menggunakan MySQLi sebagai driver default untuk MySQL. Pastikan ekstensi ini aktif di konfigurasi PHP kamu.
Buka file php.ini dan pastikan baris berikut tidak dikomentari:
extension=mysqli Jika sudah aktif, restart server Apache agar perubahan diterapkan ๐.
5. Membuat Model untuk Menguji Koneksi
Menguji Database Melalui Query
Sekarang kita akan membuat model sederhana untuk memastikan koneksi ke database berhasil.
Buat file baru di folder app/Models dengan nama DatabaseTestModel.php:
<?php namespace App\Models;
use CodeIgniter\Model;
class DatabaseTestModel extends Model
{
protected $table = 'users';
protected $primaryKey = 'id';
protected $allowedFields = ['name', 'email'];
}
?>
Pastikan kamu memiliki tabel users di database dengan struktur sederhana seperti berikut:
CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), email VARCHAR(100) ); 6. Membuat Controller untuk Mengakses Database
Mengambil Data dari Database
Buat file controller baru bernama DatabaseTest.php di folder app/Controllers:
<?php namespace App\Controllers;
use App\Models\DatabaseTestModel;
class DatabaseTest extends BaseController
{
public function index()
{
$model = new DatabaseTestModel();
$data = $model->findAll();
echo '';
print_r($data);
echo '
';
}
}
?>
7. Menambahkan Routing
Mengatur Akses URL
Buka file app/Config/Routes.php dan tambahkan baris berikut:
$routes->get('/dbtest', 'DatabaseTest::index'); Setelah itu, jalankan server CodeIgniter menggunakan perintah:
php spark serve Buka browser dan akses URL berikut:
http://localhost:8080/dbtest Jika koneksi berhasil, kamu akan melihat data dari tabel users ditampilkan ๐.
8. Menangani Error Koneksi
Solusi Umum Jika Terjadi Error
Berikut beberapa hal yang perlu dicek jika koneksi gagal:
- ⚠️ Pastikan database dan tabel benar-benar ada
- ๐ Cek kembali username dan password MySQL
- ๐งฉ Pastikan driver MySQLi aktif di PHP
- ๐ Pastikan file
.envaktif dan disimpan dengan benar
9. Contoh Query Manual
Menjalankan Query Tanpa Model
Kamu juga bisa menjalankan query langsung di controller tanpa model:
<?php $db = \Config\Database::connect(); $query = $db->query("SELECT * FROM users"); $results = $query->getResult(); print_r($results); ?> Metode ini cocok untuk uji coba cepat atau query custom ๐ง .
10. Tips Penggunaan Database di CodeIgniter
Praktik Terbaik (Best Practice)
- ๐ Gunakan model untuk menjaga keamanan data
- ๐ฆ Gunakan query builder untuk menghindari SQL Injection
- ⚙️ Simpan konfigurasi hanya di file
.env, jangan di kode - ๐งน Gunakan fitur migration untuk menjaga versi database
FAQ (13 Pertanyaan Umum tentang Koneksi Database CodeIgniter)
- Apa driver default untuk MySQL di CodeIgniter? MySQLi.
- Apakah CodeIgniter bisa menggunakan PDO? Ya, cukup ubah
DBDrivermenjadiPDO. - File konfigurasi database ada di mana? Di file
.envatauapp/Config/Database.php. - Bagaimana cara menampilkan error koneksi? Aktifkan mode development di
.env. - Bisa pakai PostgreSQL? Ya, ubah driver menjadi
Postgre. - Apa itu query builder? Fitur CodeIgniter untuk menulis query SQL dengan sintaks PHP.
- Bagaimana cara insert data? Gunakan
$model->insert($data);. - Bagaimana cara update data? Gunakan
$model->update($id, $data);. - Bagaimana cara hapus data? Gunakan
$model->delete($id);. - Bisa konek ke dua database? Bisa, dengan menambah konfigurasi baru di
Database.php. - Apakah perlu migrasi database? Disarankan untuk proyek besar.
- Apa yang dilakukan jika koneksi gagal? Periksa kredensial dan status server MySQL.
- Bisa pakai MySQL remote? Bisa, ubah hostname ke IP server database.
Kesimpulan
Menghubungkan CodeIgniter 4 dengan MySQL sangat mudah ⚙️. Cukup konfigurasi file .env, buat model, dan uji koneksi dengan controller. Framework ini dirancang agar pengaturan database tetap sederhana namun kuat untuk aplikasi skala kecil hingga besar ๐.
Setelah koneksi berhasil, kamu bisa lanjut membangun fitur CRUD, login, dan API dengan memanfaatkan kemampuan CodeIgniter sepenuhnya ๐ฅ.
Belum ada Komentar untuk "Cara Menghubungkan CodeIgniter dengan Database MySQL"
Posting Komentar