Tutorial PHP CRUD dengan MySQLi - Procedural
Dalam tutorial ini, kita akan membahas cara untuk membuat aplikasi CRUD (Create, Read, Update, Delete) menggunakan PHP dan MySQLi dengan pendekatan prosedural. Ini adalah langkah yang tepat untuk memahami dasar-dasar pengembangan aplikasi web menggunakan PHP dan database MySQL.
Prasyarat
- Server web dengan PHP dan MySQL terpasang (bisa menggunakan server lokal seperti XAMPP atau MAMP).
- Pengetahuan dasar tentang PHP dan SQL.
- Editor teks untuk menulis kode (seperti Visual Studio Code, Sublime Text, atau Notepad++).
Langkah Utama
Langkah 1: Mempersiapkan Database
Langkah pertama adalah membuat database dan tabel yang akan digunakan. Kita akan membuat database bernama crud_app dan tabel bernama users.
CREATE DATABASE crud_app;
USE crud_app;
CREATE TABLE users (
id INT(11) AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE
);
Langkah 2: Menghubungkan PHP dengan MySQL
Buat file config.php yang akan berfungsi untuk menghubungkan aplikasi PHP dengan database MySQL.
<?php
$host = "localhost";
$username = "root"; // Ganti dengan username MySQL Anda
$password = ""; // Ganti dengan password MySQL Anda
$dbname = "crud_app";
$conn = mysqli_connect($host, $username, $password, $dbname);
if (!$conn) {
die("Koneksi gagal: " . mysqli_connect_error());
}
?>
Langkah 3: Membuat Fitur Create
Buat file create.php untuk menangani penambahan pengguna baru ke database.
<?php
include 'config.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST['name'];
$email = $_POST['email'];
$sql = "INSERT INTO users (name, email) VALUES ('$name', '$email')";
if (mysqli_query($conn, $sql)) {
echo "Pengguna berhasil ditambahkan!";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
}
?>
<form method="post" action="create.php">
Nama: <input type="text" name="name" required><br>
Email: <input type="email" name="email" required><br>
<input type="submit" value="Tambah Pengguna">
</form>
Langkah 4: Membuat Fitur Read
Buat file read.php untuk menampilkan daftar pengguna yang telah ditambahkan.
<?php
include 'config.php';
$sql = "SELECT * FROM users";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
echo "<table>";
echo "<tr><th>ID</th><th>Nama</th><th>Email</th></tr>";
while($row = mysqli_fetch_assoc($result)) {
echo "<tr><td>" . $row["id"]. "</td><td>" . $row["name"]. "</td><td>" . $row["email"]. "</td></tr>";
}
echo "</table>";
} else {
echo "0 hasil";
}
?>
Langkah 5: Membuat Fitur Update
Buat file update.php yang akan memfasilitasi pembaruan informasi pengguna.
<?php
include 'config.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$id = $_POST['id'];
$name = $_POST['name'];
$email = $_POST['email'];
$sql = "UPDATE users SET name='$name', email='$email' WHERE id='$id'";
if (mysqli_query($conn, $sql)) {
echo "Pengguna berhasil diperbarui!";
} else {
echo "Error: " . mysqli_error($conn);
}
}
$id = $_GET['id'];
$result = mysqli_query($conn, "SELECT * FROM users WHERE id='$id'");
$row = mysqli_fetch_assoc($result);
?>
<form method="post" action="update.php">
<input type="hidden" name="id" value="<?php echo $row['id']; ?>">
Nama: <input type="text" name="name" value="<?php echo $row['name']; ?>" required><br>
Email: <input type="email" name="email" value="<?php echo $row['email']; ?>" required><br>
<input type="submit" value="Perbarui Pengguna">
</form>
Langkah 6: Membuat Fitur Delete
Buat file delete.php untuk menghapus pengguna dari database.
<?php
include 'config.php';
$id = $_GET['id'];
$sql = "DELETE FROM users WHERE id='$id'";
if (mysqli_query($conn, $sql)) {
echo "Pengguna berhasil dihapus!";
} else {
echo "Error: " . mysqli_error($conn);
}
?>
<a href="read.php">Kembali ke daftar pengguna</a>
Konfigurasi Lanjutan
Setelah menyelesaikan langkah-langkah di atas, Anda dapat menambahkan beberapa fitur tambahan, seperti:
- Validasi input untuk mencegah masalah keamanan seperti SQL Injection.
- Implementasi pagination pada halaman Read untuk menampilkan data lebih efisien.
- Penerapan tampilan yang lebih menarik menggunakan CSS atau framework front-end seperti Bootstrap.
Best Practices
Berikut adalah beberapa praktik terbaik yang harus diikuti saat mengembangkan aplikasi CRUD:
- Gunakan prepared statements untuk menghindari SQL Injection.
- Jaga keamanan data sensitif, seperti password, dengan menggunakan hashing.
- Selalu validasi dan sanitasi input dari pengguna sebelum menyimpannya ke dalam database.
Troubleshooting
Jika Anda mengalami masalah saat menjalankan aplikasi, berikut adalah beberapa langkah yang dapat Anda lakukan untuk memecahkan masalah:
- Pastikan server web dan database MySQL sedang berjalan.
- Periksa apakah kredensial di
config.phpsudah benar. - Periksa log kesalahan Apache atau PHP untuk melihat informasi lebih lanjut tentang kesalahan yang terjadi.
Kesimpulan
Anda telah berhasil membuat aplikasi CRUD sederhana menggunakan PHP dan MySQLi dengan pendekatan prosedural. Dengan mengikuti tutorial ini, Anda dapat memahami dasar-dasar pengembangan aplikasi web dan bagaimana berinteraksi dengan database menggunakan PHP.
Selamat mencoba, dan semoga sukses dalam pengembangan aplikasi Anda!
Dalam tutorial ini, saya telah menyajikan langkah demi langkah dalam membuat aplikasi CRUD menggunakan PHP dan MySQLi. Pastikan untuk menyesuaikan kode sesuai kebutuhan dan memperhatikan aspek keamanan saat mengembangkan aplikasi secara nyata.
Verifikasi Teknis
Panduan ini disusun berdasarkan referensi teknis terbaru. Namun, konfigurasi server dapat bervariasi. Lihat sumber referensi asli →
📚 Artikel Terkait
Cara Install Driver SQL Server untuk PHP di Ubuntu
689 kata • Baca selengkapnya →
Koneksi PHP MySQL pada OpenShift Red Hat Cloud
578 kata • Baca selengkapnya →
[Linux] Cara Install Apache, MySQL, PHP, phpMyAdmin di CentOS 6
566 kata • Baca selengkapnya →
[PHP] CRUD dengan MySQLi – OOP
552 kata • Baca selengkapnya →