Materi Lengkap PHP CRUD (Create, Read, Update, Delete)
1. Apa itu CRUD?
CRUD adalah singkatan dari:
- Create: Menambahkan data
- Read: Menampilkan data
- Update: Mengubah data
- Delete: Menghapus data
CRUD adalah konsep dasar dalam pengelolaan data pada aplikasi web. Biasanya digunakan bersamaan dengan database seperti MySQL.
2. Struktur File CRUD
Contoh struktur file dalam folder php-crud/
:
php-crud/
│
├── koneksi.php
├── index.php (Read)
├── tambah.php (Create)
├── edit.php (Update)
└── hapus.php (Delete)
3. Koneksi Database (koneksi.php)
<?php
$koneksi = mysqli_connect("localhost", "root", "", "nama_database");
if (!$koneksi) {
die("Koneksi gagal: " . mysqli_connect_error());
}
?>
4. CREATE - Menambahkan Data (tambah.php)
<?php include 'koneksi.php'; ?>
<form method="POST">
<input type="text" name="nama" placeholder="Nama">
<input type="email" name="email" placeholder="Email">
<button type="submit" name="submit">Simpan</button>
</form>
<?php
if (isset($_POST['submit'])) {
$nama = $_POST['nama'];
$email = $_POST['email'];
mysqli_query($koneksi, "INSERT INTO users (nama, email) VALUES ('$nama', '$email')");
header("Location: index.php");
}
?>
5. READ - Menampilkan Data (index.php)
<?php include 'koneksi.php'; ?>
<table border="1">
<tr><th>Nama</th><th>Email</th><th>Aksi</th></tr>
<?php
$data = mysqli_query($koneksi, "SELECT * FROM users");
while ($row = mysqli_fetch_assoc($data)) {
echo "<tr>
<td>{$row['nama']}</td>
<td>{$row['email']}</td>
<td>
<a href='edit.php?id={$row['id']}'>Edit</a> |
<a href='hapus.php?id={$row['id']}'>Hapus</a>
</td>
</tr>";
}
?>
</table>
6. UPDATE - Mengubah Data (edit.php)
<?php
include 'koneksi.php';
$id = $_GET['id'];
$hasil = mysqli_query($koneksi, "SELECT * FROM users WHERE id=$id");
$data = mysqli_fetch_assoc($hasil);
?>
<form method="POST">
<input type="text" name="nama" value="<?= $data['nama'] ?>">
<input type="email" name="email" value="<?= $data['email'] ?>">
<button type="submit" name="update">Update</button>
</form>
<?php
if (isset($_POST['update'])) {
$nama = $_POST['nama'];
$email = $_POST['email'];
mysqli_query($koneksi, "UPDATE users SET nama='$nama', email='$email' WHERE id=$id");
header("Location: index.php");
}
?>
7. DELETE - Menghapus Data (hapus.php)
<?php
include 'koneksi.php';
$id = $_GET['id'];
mysqli_query($koneksi, "DELETE FROM users WHERE id=$id");
header("Location: index.php");
?>
8. Tips Keamanan
- Gunakan
mysqli_real_escape_string()
atau prepared statement - Validasi input pengguna
- Gunakan
password_hash()
untuk menyimpan password