
Belajar PHP untuk Pemula: Membuat Website Dinamis dengan Database MySQL
Pendahuluan
Jika kamu sudah memahami HTML, CSS, dan JavaScript dasar, sekarang saatnya naik level ke backend menggunakan PHP dan MySQL. Dengan PHP, kamu bisa membuat website dinamis seperti sistem login, blog, toko online, dan dashboard admin.
Di tutorial ini kamu akan belajar dari nol:
- Apa itu PHP
- Apa itu MySQL
- Cara koneksi PHP ke database
- Membuat CRUD (Create, Read, Update, Delete)
- Membuat sistem tambah dan tampil data
Apa Itu PHP?
PHP adalah bahasa pemrograman server-side yang digunakan untuk membuat website dinamis. Artinya, kode PHP diproses di server sebelum dikirim ke browser.
Contoh sederhana PHP:
<?php echo "Halo Dunia!"; ?>
Apa Itu MySQL?
MySQL adalah sistem manajemen database yang digunakan untuk menyimpan data seperti:
- Data user
- Data produk
- Artikel blog
- Komentar
Persiapan: Install XAMPP
- Install XAMPP
- Jalankan Apache dan MySQL
- Buka browser: http://localhost/phpmyadmin
Membuat Database
Masuk ke phpMyAdmin → klik New → buat database dengan nama:
db_belajarphp
Lalu buat tabel:
CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, nama VARCHAR(100), email VARCHAR(100) );
Membuat Koneksi Database (config.php)
<?php
$host = "localhost";
$user = "root";
$pass = "";
$db = "db_belajarphp";
$conn = mysqli_connect($host, $user, $pass, $db);
if (!$conn) {
die("Koneksi gagal: " . mysqli_connect_error());
}
?>
Membuat Form Tambah Data (index.php)
<form method="POST" action="proses_tambah.php">
Nama: <input type="text" name="nama"><br>
Email: <input type="email" name="email"><br>
<button type="submit">Simpan</button>
</form>
Proses Tambah Data (proses_tambah.php)
<?php
include 'config.php';
$nama = $_POST['nama'];
$email = $_POST['email'];
$query = "INSERT INTO users (nama, email) VALUES ('$nama', '$email')";
mysqli_query($conn, $query);
header("Location: index.php");
?>
Menampilkan Data (Read)
Tambahkan di bawah form:<?php
include 'config.php';
$data = mysqli_query($conn, "SELECT * FROM users");
while ($row = mysqli_fetch_assoc($data)) {
echo $row['nama'] . " - " . $row['email'] . "<br>";
}
?>
Menghapus Data (Delete)
Tambahkan tombol hapus:<a href="hapus.php?id=<?php echo $row['id']; ?>">Hapus</a>File hapus.php:
<?php
include 'config.php';
$id = $_GET['id'];
mysqli_query($conn, "DELETE FROM users WHERE id=$id");
header("Location: index.php");
?>
Mengedit Data (Update)
edit.php:<?php include 'config.php'; $id = $_GET['id']; $data = mysqli_query($conn, "SELECT * FROM users WHERE id=$id"); $row = mysqli_fetch_assoc($data); ?> <form method="POST" action="proses_edit.php"> <input type="hidden" name="id" value="<?php echo $row['id']; ?>"> Nama: <input type="text" name="nama" value="<?php echo $row['nama']; ?>"><br> Email: <input type="email" name="email" value="<?php echo $row['email']; ?>"><br> <button type="submit">Update</button> </form>proses_edit.php:
<?php
include 'config.php';
$id = $_POST['id'];
$nama = $_POST['nama'];
$email = $_POST['email'];
mysqli_query($conn, "UPDATE users SET nama='$nama', email='$email' WHERE id=$id");
header("Location: index.php");
?>
Struktur Folder
/belajarphp ├── config.php ├── index.php ├── proses_tambah.php ├── edit.php ├── proses_edit.php ├── hapus.php
Penjelasan Konsep yang Baru Dipelajari
- Koneksi Database
- Query INSERT
- Query SELECT
- Query UPDATE
- Query DELETE
- Method GET & POST
- Looping while
Kesalahan Umum Pemula
- Lupa include config.php
- Salah nama database
- Tidak menyalakan MySQL di XAMPP
- Salah penulisan variabel
Langkah Selanjutnya
Setelah memahami ini, kamu bisa lanjut belajar:
- Sistem Login & Register
- Password hashing
- Session
- Upload file
- Keamanan SQL Injection
Kesimpulan
Sekarang kamu sudah memahami cara membuat website dinamis menggunakan PHP dan MySQL dari nol. Dengan memahami CRUD, kamu sudah memiliki fondasi backend yang kuat.
Terus latihan dan kembangkan menjadi sistem login atau dashboard admin sederhana.