Saat membuat website dinamis, PHP dan MySQL sering digunakan secara bersamaan. PHP bertugas memproses data di sisi server, sedangkan MySQL digunakan untuk menyimpan dan mengelola data.
Misalnya, ketika pengguna mengisi formulir pendaftaran, data tersebut perlu disimpan ke database. Di sinilah PHP berperan untuk mengirim data dari website ke MySQL.
Bagi pemula, proses menghubungkan PHP ke MySQL mungkin terlihat rumit. Padahal, dengan memahami beberapa konsep dasar, Anda bisa membuat koneksi database dengan cukup mudah.
Pada artikel ini, kita akan belajar langkah demi langkah mulai dari membuat database, membuat file koneksi, hingga mencoba mengambil data dari MySQL.
Apa Itu PHP dan MySQL?
Sebelum membuat koneksi, mari pahami terlebih dahulu fungsi keduanya.
PHP
PHP adalah bahasa pemrograman server-side yang banyak digunakan untuk membuat website dinamis.
PHP dapat digunakan untuk:
- Memproses form.
- Mengelola session.
- Membuat sistem login.
- Mengolah data pengguna.
- Menghubungkan website dengan database.
MySQL
MySQL adalah sistem manajemen database yang digunakan untuk menyimpan berbagai jenis data.
Contohnya:
- Data pengguna.
- Data produk.
- Data siswa.
- Data transaksi.
- Data pelanggan.
Dengan menggabungkan PHP dan MySQL, Anda dapat membuat aplikasi web yang mampu menyimpan serta mengolah data secara dinamis.
Apa Fungsi Koneksi PHP ke MySQL?
Koneksi PHP ke MySQL berfungsi sebagai penghubung antara aplikasi dengan database.
Sederhananya, alurnya seperti ini:
Pengguna → Website PHP → Koneksi Database → MySQL
Ketika pengguna memasukkan data, PHP memproses informasi tersebut kemudian mengirimkannya ke MySQL untuk disimpan.
Sebaliknya, ketika website membutuhkan data, PHP dapat meminta data dari MySQL lalu menampilkannya kepada pengguna.
Persiapan Sebelum Membuat Koneksi
Sebelum mulai coding, siapkan beberapa tools berikut:
- XAMPP atau Laragon
- PHP
- MySQL
- Visual Studio Code
- Browser
Jika menggunakan XAMPP, buka XAMPP Control Panel, kemudian aktifkan:
- Apache
- MySQL
Pastikan keduanya berjalan sebelum mencoba website.
Langkah 1: Membuat Database MySQL
Pertama, buka phpMyAdmin melalui browser.
Kemudian buat database dengan nama:
db_belajar
Setelah database dibuat, kita bisa membuat tabel sederhana.
Misalnya tabel siswa:
CREATE TABLE siswa (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(100),
kelas VARCHAR(20),
jurusan VARCHAR(50)
);
Tabel tersebut memiliki empat kolom:
| Kolom | Fungsi |
|---|---|
| id | ID unik setiap data |
| nama | Nama siswa |
| kelas | Kelas siswa |
| jurusan | Jurusan siswa |
Langkah 2: Membuat Folder Project
Jika menggunakan XAMPP, buat folder project di:
C:\xampp\htdocs\belajar_php
Kemudian buat file:
koneksi.php
Struktur sederhananya:
belajar_php/
│
├── koneksi.php
└── index.php
Langkah 3: Membuat Koneksi PHP ke MySQL
Buka file koneksi.php, kemudian masukkan kode berikut:
<?php
$koneksi = mysqli_connect(
"localhost",
"root",
"",
"db_belajar"
);
if (!$koneksi) {
die("Koneksi database gagal: " . mysqli_connect_error());
}
echo "Koneksi database berhasil!";
?>
Jika tidak ada error, browser akan menampilkan:
Koneksi database berhasil!
Selamat, PHP sudah berhasil terhubung dengan MySQL.
Memahami Kode Koneksi PHP
Kode koneksi di atas sebenarnya cukup sederhana.
Bagian ini:
mysqli_connect(
"localhost",
"root",
"",
"db_belajar"
);
digunakan untuk membuat koneksi ke database.
Ada empat informasi penting:
1. localhost
Menunjukkan bahwa database berada di komputer lokal.
2. root
Merupakan username MySQL yang umum digunakan pada instalasi XAMPP secara default.
3. ""
Bagian tersebut merupakan password MySQL. Pada konfigurasi XAMPP tertentu, password root secara default dapat kosong.
Namun, pada server produksi, sebaiknya gunakan password yang kuat.
4. db_belajar
Merupakan nama database yang ingin digunakan oleh aplikasi PHP.
Langkah 4: Membuat File untuk Menampilkan Data
Setelah koneksi berhasil, kita dapat mencoba mengambil data dari database.
Buat file:
index.php
Kemudian masukkan:
<?php
include "koneksi.php";
$data = mysqli_query($koneksi, "SELECT * FROM siswa");
while ($row = mysqli_fetch_assoc($data)) {
echo "Nama: " . $row['nama'] . "<br>";
echo "Kelas: " . $row['kelas'] . "<br>";
echo "Jurusan: " . $row['jurusan'] . "<br><br>";
}
?>
Kode tersebut mengambil seluruh data dari tabel siswa.
Jika database masih kosong, tentu belum ada data yang ditampilkan.
Langkah 5: Menambahkan Data ke MySQL
Agar lebih menarik, kita bisa memasukkan data menggunakan PHP.
Contohnya:
<?php
include "koneksi.php";
$nama = "Andi";
$kelas = "XI RPL";
$jurusan = "Rekayasa Perangkat Lunak";
$query = "INSERT INTO siswa (nama, kelas, jurusan)
VALUES ('$nama', '$kelas', '$jurusan')";
if (mysqli_query($koneksi, $query)) {
echo "Data berhasil ditambahkan!";
} else {
echo "Data gagal ditambahkan!";
}
?>
Setelah file tersebut dijalankan, data akan masuk ke tabel siswa.
Lebih Baik Pisahkan File Koneksi
Dalam project yang lebih besar, sebaiknya kode koneksi database tidak ditulis berulang kali.
Buat satu file:
koneksi.php
Kemudian panggil menggunakan:
include "koneksi.php";
Dengan cara ini, jika konfigurasi database berubah, Anda hanya perlu mengubah satu file.
Struktur project bisa dibuat seperti:
belajar_php/
│
├── koneksi.php
├── index.php
├── tambah.php
├── simpan.php
├── edit.php
└── hapus.php
Struktur seperti ini juga akan mempermudah ketika Anda mulai membuat aplikasi CRUD.
Menggunakan Prepared Statement untuk Keamanan
Untuk belajar dasar, mysqli_query() memang mudah dipahami. Namun, pada aplikasi nyata, sebaiknya gunakan Prepared Statement ketika memasukkan data dari pengguna.
Contohnya:
$stmt = mysqli_prepare(
$koneksi,
"INSERT INTO siswa (nama, kelas, jurusan) VALUES (?, ?, ?)"
);
mysqli_stmt_bind_param(
$stmt,
"sss",
$nama,
$kelas,
$jurusan
);
mysqli_stmt_execute($stmt);
Prepared Statement membantu mengurangi risiko SQL Injection, terutama ketika data berasal dari form pengguna.
Kesalahan yang Sering Terjadi
Saat belajar menghubungkan PHP ke MySQL, beberapa error berikut cukup sering ditemui.
1. MySQL Belum Aktif
Jika MySQL di XAMPP belum dijalankan, PHP tidak dapat terhubung ke database.
Solusi: Pastikan MySQL sudah berstatus Running.
2. Nama Database Salah
Misalnya database yang dibuat adalah:
db_belajar
tetapi di PHP ditulis:
"db_sekolah"
Maka koneksi akan gagal.
Pastikan nama database di PHP sama dengan database di MySQL.
3. Username atau Password Salah
Jika konfigurasi MySQL menggunakan username atau password tertentu, masukkan informasi tersebut dengan benar.
4. Nama Tabel Tidak Sesuai
Misalnya tabel bernama:
siswa
tetapi query menggunakan:
SELECT * FROM siswa_data
MySQL akan menghasilkan error karena tabel tersebut tidak ditemukan.
Tips Agar Koneksi Database Lebih Aman
Selain menggunakan Prepared Statement, ada beberapa hal yang perlu diperhatikan ketika project mulai digunakan secara nyata.
Jangan Menampilkan Detail Error Database ke Pengguna
Informasi error database sebaiknya tidak ditampilkan secara langsung pada website production karena dapat membocorkan informasi sistem.
Gunakan Password Database
Jangan mengandalkan konfigurasi default ketika aplikasi sudah ditempatkan di server.
Simpan Konfigurasi Secara Terpisah
Informasi sensitif seperti username dan password database sebaiknya dikelola dengan konfigurasi yang aman dan tidak dimasukkan ke repository publik.
Gunakan User Database dengan Hak Akses Terbatas
Aplikasi tidak selalu membutuhkan akses penuh terhadap database. Berikan hak akses sesuai kebutuhan aplikasi.
Apa yang Bisa Dibuat Setelah PHP Terhubung ke MySQL?
Setelah memahami koneksi database, Anda sudah bisa melanjutkan ke berbagai project menarik.
Contohnya:
- Sistem informasi sekolah.
- Aplikasi kasir.
- Sistem inventaris.
- Website toko online.
- Sistem absensi.
- Aplikasi perpustakaan.
- Sistem data pelanggan.
- Dashboard admin.
Langkah berikutnya yang sangat direkomendasikan adalah belajar CRUD dengan PHP dan MySQL.
Dengan CRUD, Anda dapat membuat fitur:
Tambah → Tampil → Edit → Hapus
yang merupakan dasar dari banyak aplikasi berbasis database.
Kesimpulan
Cara menghubungkan PHP ke MySQL sebenarnya tidak sesulit yang dibayangkan. Anda hanya perlu memahami cara membuat database, menyiapkan konfigurasi koneksi, lalu menggunakan PHP untuk berkomunikasi dengan MySQL.
Bagi pemula, latihan sederhana seperti membuat database siswa bisa menjadi awal yang bagus. Setelah koneksi berhasil, lanjutkan dengan membuat form input, CRUD, sistem login, pencarian data, dan dashboard.
Semakin sering Anda membuat project kecil, semakin kuat pula pemahaman tentang PHP dan database. Jadi, jangan hanya membaca teori—langsung praktik dan buat project Anda sendiri!

