Dalam setiap aplikasi web berbasis PHP yang menggunakan database, salah satu langkah pertama yang wajib dilakukan adalah membuat koneksi ke database MySQL. File konfigurasi (config.php
) berfungsi sebagai pusat pengaturan koneksi ke database. Dengan memisahkan konfigurasi dari file utama, kita dapat mengelola dan memelihara sistem dengan lebih rapi dan aman.
Cara Membuat config.php dalam Proyek PHP?
File config.php
biasanya berisi:
- Informasi kredensial database (host, username, password, dan nama database)
- Inisialisasi koneksi dengan fungsi
mysqli
atauPDO
- Pengaturan dasar seperti session dan base URL
Struktur Dasar File config.php
Berikut adalah contoh paling umum dari file config.php
menggunakan MySQLi:
<?php
// config.php
// Konfigurasi Database
$host = 'localhost'; // Alamat server MySQL, biasanya 'localhost'
$username = 'root'; // Username database
$password = ''; // Password database (kosong untuk default di localhost)
$database = 'nama_database'; // Ganti dengan nama database Anda
// Membuat koneksi ke database
$koneksi = new mysqli($host, $username, $password, $database);
// Cek koneksi
if ($koneksi->connect_error) {
die("Koneksi database gagal: " . $koneksi->connect_error);
}
// Pengaturan dasar website
$site_title = 'Judul Website Anda';
$base_url = 'http://' . $_SERVER['HTTP_HOST'] . '/nama-folder'; // Ganti sesuai folder proyek Anda
// Memulai session (jika belum dimulai)
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
?>
Penjelasan Singkat:
mysqli
: Merupakan ekstensi untuk koneksi MySQL dengan PHP. Cocok untuk sebagian besar aplikasi web sederhana.session_start()
: Berguna untuk mengelola sesi login atau data pengguna selama penggunaan situs.
Cara Menggunakan config.php
Setelah Anda membuat file config.php
, langkah berikutnya adalah menyertakannya di setiap file PHP yang membutuhkan koneksi ke database. Gunakan perintah:
require_once 'config.php';
Letakkan baris ini di bagian paling atas setiap file PHP Anda. Ini memastikan koneksi database tersedia sebelum fungsi lain dijalankan.
Tips Keamanan Saat Menggunakan config.php
Karena config.php
menyimpan informasi sensitif seperti username dan password database, berikut beberapa tips untuk meningkatkan keamanannya:
- Letakkan file di luar folder
public_html
atauhtdocs
jika memungkinkan. - Gunakan file
.htaccess
untuk mencegah akses langsung ke file:<Files "config.php"> Order Allow,Deny Deny from all </Files>
- Gunakan variabel environment (.env) untuk menyimpan kredensial dalam proyek berskala besar atau menggunakan framework.
- Jangan pernah mengunggah file
config.php
ke repositori publik seperti GitHub tanpa mengecualikannya terlebih dahulu.
Alternatif Koneksi: Menggunakan PDO
Selain mysqli
, Anda juga dapat menggunakan PDO (PHP Data Objects) yang lebih fleksibel dan aman:
<?php
// config.php menggunakan PDO
$host = 'localhost';
$dbname = 'nama_database';
$username = 'root';
$password = '';
try {
$koneksi = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
$koneksi->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
die("Koneksi gagal: " . $e->getMessage());
}
?>
Keunggulan PDO:
- Mendukung berbagai jenis database selain MySQL (seperti PostgreSQL, SQLite)
- Mendukung statement yang dipersiapkan (prepared statement) untuk keamanan dari SQL Injection
Studi Kasus Penggunaan config.php
Studi Kasus 1: Sistem Login Sederhana
Dalam aplikasi login sederhana, Anda bisa menghubungkan login.php
ke config.php
untuk mengambil data user dari database:
require_once 'config.php';
$username = $_POST['username'];
$password = $_POST['password'];
$query = $koneksi->query("SELECT * FROM users WHERE username='$username' AND password='$password'");
Catatan: Untuk keamanan, selalu gunakan prepared statements untuk mencegah SQL Injection.
Studi Kasus 2: Menampilkan Data
require_once 'config.php';
$result = $koneksi->query("SELECT * FROM produk");
while($row = $result->fetch_assoc()) {
echo $row['nama_produk'] . "<br>";
}
Kesimpulan
File config.php
adalah komponen penting dalam pengembangan web berbasis PHP. Dengan memisahkan konfigurasi koneksi database ke dalam satu file, kamu dapat:
- Mempermudah manajemen proyek
- Meningkatkan keamanan aplikasi
- Mengurangi pengulangan kode
Baik menggunakan MySQLi maupun PDO, pastikan untuk mengamankan file config.php
Anda dari akses tidak sah, terutama saat aplikasi Anda online.
Penutup
Sekarang kamu sudah mengetahui cara membuat file config.php
untuk koneksi MySQL di PHP dengan aman dan efisien. File ini menjadi pondasi penting dalam proyek-proyek web seperti sistem login, manajemen data, dan sebagainya.
Jika kamu sedang membangun website dari nol, mulailah dengan struktur folder yang baik dan penempatan file config.php
yang aman. Selamat mencoba!
Apa pendapatmu? Tulis di kolom komentar dengan sopan dan beretika. Jangan lupa bagikan agar semakin banyak yang tahu!