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 .env aktif 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)

  1. Apa driver default untuk MySQL di CodeIgniter? MySQLi.
  2. Apakah CodeIgniter bisa menggunakan PDO? Ya, cukup ubah DBDriver menjadi PDO.
  3. File konfigurasi database ada di mana? Di file .env atau app/Config/Database.php.
  4. Bagaimana cara menampilkan error koneksi? Aktifkan mode development di .env.
  5. Bisa pakai PostgreSQL? Ya, ubah driver menjadi Postgre.
  6. Apa itu query builder? Fitur CodeIgniter untuk menulis query SQL dengan sintaks PHP.
  7. Bagaimana cara insert data? Gunakan $model->insert($data);.
  8. Bagaimana cara update data? Gunakan $model->update($id, $data);.
  9. Bagaimana cara hapus data? Gunakan $model->delete($id);.
  10. Bisa konek ke dua database? Bisa, dengan menambah konfigurasi baru di Database.php.
  11. Apakah perlu migrasi database? Disarankan untuk proyek besar.
  12. Apa yang dilakukan jika koneksi gagal? Periksa kredensial dan status server MySQL.
  13. 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

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel