Membuat situs web yang interaktif dan selalu berubah (dinamis) adalah inti dari pengembangan web modern. Untuk mencapai hal ini, kombinasi antara PHP sebagai bahasa sisi server dan MySQL sebagai sistem manajemen basis data relasional adalah solusi klasik dan sangat kuat. Artikel ini akan memandu Anda memahami langkah-langkah dasar untuk mengintegrasikan keduanya.
Ilustrasi Koneksi PHP dan Database MySQL
Apa Itu Web Dinamis?
Web dinamis berbeda dari web statis. Web statis menyajikan konten yang sama kepada setiap pengunjung sampai pengembang mengubah kodenya secara manual. Sebaliknya, web dinamis menghasilkan konten secara real-time berdasarkan interaksi pengguna, waktu, atau data yang diambil dari basis data. PHP memungkinkan eksekusi kode di server sebelum hasilnya (biasanya dalam bentuk HTML) dikirim ke browser pengguna.
Tahap 1: Persiapan Lingkungan Lokal
Sebelum menulis kode, Anda memerlukan lingkungan server lokal. Instal paket perangkat lunak seperti XAMPP (Windows/Mac/Linux), WAMP (Windows), atau MAMP (Mac). Paket ini menyediakan Apache (server web), MySQL (basis data), dan PHP yang diperlukan.
A. Pengaturan Basis Data (MySQL)
Langkah pertama adalah membuat basis data tempat semua informasi Anda akan disimpan. Gunakan antarmuka seperti phpMyAdmin (yang disertakan dalam XAMPP) untuk:
- Membuat basis data baru (misalnya,
db_pengguna). - Membuat tabel di dalamnya (misalnya, tabel
produkdengan kolomid,nama_produk, danharga).
Tahap 2: Koneksi PHP ke MySQL
Inti dari web dinamis adalah kemampuan PHP untuk "berbicara" dengan MySQL. Ini dilakukan menggunakan ekstensi database PHP, yang paling umum saat ini adalah MySQLi (MySQL Improved) atau PDO (PHP Data Objects).
Contoh Koneksi Sederhana (Menggunakan MySQLi Prosedural)
Buat file bernama koneksi.php:
<?php
$servername = "localhost";
$username = "root"; // Default XAMPP
$password = ""; // Default XAMPP
$dbname = "db_pengguna";
// Membuat koneksi
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Cek koneksi
if (!$conn) {
die("Koneksi gagal: " . mysqli_connect_error());
}
// echo "Koneksi berhasil"; // Hapus saat produksi
?>
Pastikan Anda selalu menutup koneksi setelah selesai operasi, meskipun dalam contoh sederhana ini sering dihilangkan untuk menjaga alur. Koneksi yang berhasil berarti Anda siap menarik data.
Tahap 3: Mengambil dan Menampilkan Data (Read)
Setelah terhubung, Anda bisa menjalankan kueri SQL. Misalnya, untuk menampilkan semua produk:
Menampilkan Daftar Produk
Buat file produk.php dan sertakan koneksi tadi:
<?php include 'koneksi.php'; ?>
<!DOCTYPE html>
<html>
<head><title>Daftar Produk</title></head>
<body>
<h2>Semua Data Produk</h2>
<table border="1">
<tr><th>ID</th><th>Nama</th><th>Harga</th></tr>
<?php
$sql = "SELECT id, nama_produk, harga FROM produk";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
// Output data dari setiap baris
while($row = mysqli_fetch_assoc($result)) {
echo "<tr>";
echo "<td>" . $row["id"]. "</td>";
echo "<td>" . $row["nama_produk"]. "</td>";
echo "<td>Rp " . number_format($row["harga"], 0, ',', '.'). "</td>";
echo "</tr>";
}
} else {
echo "<p>0 hasil ditemukan.</p>";
}
mysqli_close($conn);
?>
</table>
</body>
</html>
Tahap 4: CRUD (Create, Update, Delete)
Dinamisme sejati tercapai ketika pengguna atau administrator dapat mengubah data di basis data. Ini mencakup empat operasi dasar (CRUD):
- Create (Membuat): Menggunakan sintaks SQL
INSERT INTO. Data biasanya dikirim melalui formulir HTML (menggunakan metode POST) yang diproses oleh skrip PHP. - Update (Memperbarui): Menggunakan
UPDATE. Skrip PHP menerima ID item yang ingin diubah dan data baru. - Delete (Menghapus): Menggunakan
DELETE FROM. Biasanya memicu penghapusan setelah konfirmasi pengguna.
Setiap operasi ini memerlukan validasi input yang ketat di sisi PHP untuk mencegah serangan umum seperti SQL Injection. Jangan pernah menyisipkan input pengguna langsung ke dalam kueri SQL tanpa menggunakan prepared statements (terutama saat menggunakan MySQLi atau PDO).
Kesimpulan
Menguasai cara membuat web dinamis dengan PHP dan MySQL melibatkan pemahaman alur kerja: Klien mengirim permintaan → PHP memproses permintaan → PHP terhubung ke MySQL → MySQL mengembalikan data → PHP menyusun HTML → Server mengirim HTML ke Klien. Meskipun ada teknologi baru, fondasi PHP dan MySQL tetap menjadi keterampilan yang sangat berharga dalam pengembangan web back-end yang andal dan teruji waktu.