
Saat membuat aplikasi berbasis web, kita sering membutuhkan fitur untuk menambah, menampilkan, mengubah, dan menghapus data. Misalnya, sebuah website memiliki sistem pengelolaan data siswa, barang, pelanggan, atau transaksi.
Agar fitur tersebut dapat berjalan, PHP dan MySQL sering digunakan secara bersama-sama. PHP bertugas memproses logika aplikasi di sisi server, sedangkan MySQL digunakan untuk menyimpan dan mengelola data.
Konsep pengelolaan data tersebut dikenal sebagai CRUD, yaitu Create, Read, Update, dan Delete.
Pada artikel ini, kita akan memahami bagaimana CRUD PHP dan MySQL bekerja dalam sebuah aplikasi berbasis web.
Apa Itu CRUD PHP dan MySQL?
CRUD merupakan singkatan dari:
- Create → menambahkan data.
- Read → membaca atau menampilkan data.
- Update → mengubah data.
- Delete → menghapus data.
PHP digunakan untuk menerima input dari pengguna dan menjalankan proses yang diperlukan. Sementara itu, MySQL menyimpan data yang diproses oleh aplikasi.
Gambaran sederhananya:
Pengguna
↓
Form / Halaman Website
↓
PHP
↓
MySQL
↓
Hasil Ditampilkan ke Website
Dengan alur tersebut, pengguna tidak perlu berinteraksi langsung dengan database.
Bagaimana PHP Terhubung dengan MySQL?
Sebelum membuat CRUD, aplikasi PHP harus memiliki koneksi ke database.
Contoh sederhana menggunakan MySQLi:
<?php
$koneksi = mysqli_connect(
"localhost",
"root",
"",
"db_crud"
);
if (!$koneksi) {
die("Koneksi database gagal: " . mysqli_connect_error());
}
?>
Pada contoh tersebut:
localhostmerupakan server database.rootmerupakan username MySQL.""merupakan password.db_crudmerupakan nama database.
Biasanya file koneksi dibuat terpisah, misalnya:
crud/
├── koneksi.php
├── index.php
├── tambah.php
├── edit.php
└── hapus.php
File koneksi.php kemudian dipanggil oleh halaman lain yang membutuhkan akses database.
1. Cara Kerja Create
Create digunakan ketika pengguna ingin menambahkan data baru.
Misalnya terdapat formulir untuk menambahkan data barang:
<form method="post">
<input type="text" name="nama_barang">
<input type="number" name="harga">
<input type="number" name="stok">
<button type="submit">Simpan</button>
</form>
Setelah formulir dikirim, PHP menerima data tersebut kemudian memasukkannya ke MySQL.
Contoh query SQL:
INSERT INTO barang (nama_barang, harga, stok)
VALUES ('Keyboard', 150000, 10);
Alurnya:
Form Tambah Data
↓
PHP
↓
INSERT
↓
MySQL
↓
Data Tersimpan
2. Cara Kerja Read
Read digunakan untuk mengambil dan menampilkan data dari database.
PHP dapat menjalankan query SELECT:
SELECT * FROM barang;
Kemudian hasil query diproses dan ditampilkan dalam HTML.
Contoh sederhana:
<?php
$query = mysqli_query($koneksi, "SELECT * FROM barang");
while ($data = mysqli_fetch_assoc($query)) {
echo $data['nama_barang'];
echo "<br>";
}
?>
Alurnya:
Database
↓
SELECT
↓
PHP
↓
HTML
↓
Data Ditampilkan
Read biasanya digunakan untuk membuat halaman daftar data, detail data, pencarian, maupun laporan.
3. Cara Kerja Update
Update digunakan untuk mengubah data yang sudah ada.
Misalnya harga keyboard berubah menjadi Rp175.000.
Query SQL yang digunakan:
UPDATE barang
SET harga = 175000
WHERE id = 1;
PHP biasanya mendapatkan ID data dari tombol atau halaman edit. Setelah pengguna mengubah informasi, PHP mengirimkan perubahan tersebut ke MySQL.
Alurnya:
Pilih Data
↓
Form Edit
↓
PHP
↓
UPDATE
↓
MySQL
↓
Data Berubah
Penggunaan WHERE sangat penting agar hanya data yang dipilih yang diperbarui.
4. Cara Kerja Delete
Delete digunakan untuk menghapus data.
Contohnya:
DELETE FROM barang
WHERE id = 1;
Ketika pengguna menekan tombol hapus, aplikasi dapat mengirimkan ID data kepada PHP. PHP kemudian menjalankan perintah Delete pada database.
Alurnya:
Klik Hapus
↓
PHP
↓
DELETE
↓
MySQL
↓
Data Terhapus
Dalam aplikasi nyata, sebaiknya tampilkan konfirmasi terlebih dahulu sebelum proses penghapusan dilakukan.
Contoh Struktur Database
Sebagai contoh, kita memiliki database bernama db_crud dengan tabel barang.
Struktur sederhananya:
| Kolom | Tipe Data | Keterangan |
|---|---|---|
| id | INT | Primary Key |
| nama_barang | VARCHAR | Nama barang |
| harga | INT | Harga barang |
| stok | INT | Jumlah stok |
Contoh data:
| ID | Nama Barang | Harga | Stok |
|---|---|---|---|
| 1 | Keyboard | 150000 | 10 |
| 2 | Mouse | 75000 | 20 |
| 3 | Monitor | 1500000 | 5 |
Data tersebut nantinya dapat dikelola menggunakan fitur CRUD.
Contoh Alur CRUD Lengkap
Misalnya administrator ingin mengelola data barang.
Tahap 1 — Menambahkan Data
Administrator membuka halaman Tambah Barang, mengisi formulir, kemudian menekan tombol Simpan.
PHP menerima data dan menjalankan INSERT.
Tahap 2 — Melihat Data
Setelah berhasil disimpan, data ditampilkan pada halaman daftar barang menggunakan SELECT.
Tahap 3 — Mengubah Data
Jika terdapat informasi yang salah, administrator memilih tombol Edit.
PHP mengambil data berdasarkan ID dan menampilkannya pada formulir. Setelah disimpan, PHP menjalankan UPDATE.
Tahap 4 — Menghapus Data
Jika barang sudah tidak digunakan, administrator memilih tombol Hapus.
Setelah mendapatkan konfirmasi, PHP menjalankan DELETE.
Dengan demikian, keempat operasi tersebut membentuk satu sistem pengelolaan data yang lengkap.
CRUD dan HTTP Method
Dalam aplikasi web, operasi CRUD juga sering dikaitkan dengan HTTP method.
| CRUD | HTTP Method yang Umum Digunakan |
|---|---|
| Create | POST |
| Read | GET |
| Update | PUT / PATCH / POST |
| Delete | DELETE / POST |
Pada aplikasi PHP sederhana, POST sering digunakan untuk proses tambah, edit, maupun hapus. Sementara GET umum digunakan untuk mengambil atau menampilkan data.
Pemilihan method dapat berbeda tergantung arsitektur aplikasi yang digunakan.
Keamanan dalam CRUD PHP dan MySQL
Membuat CRUD bukan hanya tentang membuat query agar berjalan. Keamanan juga perlu diperhatikan.
Gunakan Prepared Statement
Hindari memasukkan input pengguna langsung ke dalam query SQL.
Contoh dengan MySQLi:
$stmt = mysqli_prepare(
$koneksi,
"INSERT INTO barang (nama_barang, harga, stok) VALUES (?, ?, ?)"
);
mysqli_stmt_bind_param(
$stmt,
"sii",
$nama_barang,
$harga,
$stok
);
mysqli_stmt_execute($stmt);
Prepared statement membantu mengurangi risiko SQL injection.
Validasi Input
Data dari pengguna sebaiknya diperiksa terlebih dahulu. Misalnya, harga dan stok harus berupa angka dan tidak boleh bernilai negatif jika memang tidak diperbolehkan oleh sistem.
Batasi Hak Akses
Tidak semua pengguna harus memiliki akses untuk melakukan semua operasi CRUD. Contohnya, hanya administrator yang boleh menghapus data.
Konfirmasi Sebelum Delete
Berikan konfirmasi sebelum menghapus data agar pengguna tidak salah menghapus informasi penting.
Kesalahan yang Sering Terjadi Saat Membuat CRUD
Pemula terkadang mengalami beberapa masalah ketika membuat CRUD PHP dan MySQL.
Koneksi Database Gagal
Penyebabnya dapat berupa nama database, username, password, atau konfigurasi server yang tidak sesuai.
Data Tidak Tersimpan
Periksa kembali nama tabel, nama kolom, query SQL, serta data yang dikirim dari formulir.
Data Tidak Muncul
Pastikan query SELECT benar dan proses pengambilan hasil query sudah dilakukan dengan tepat.
Data yang Salah Ikut Terubah
Biasanya terjadi karena kondisi WHERE tidak tepat ketika menggunakan UPDATE.
Data Terhapus Tanpa Sengaja
Sebaiknya gunakan konfirmasi sebelum menjalankan proses Delete.
Mengapa CRUD PHP dan MySQL Penting Dipelajari?
CRUD merupakan dasar yang sangat berguna bagi seseorang yang ingin mempelajari pengembangan aplikasi berbasis database.
Dengan memahami CRUD, kita dapat mulai membuat berbagai aplikasi seperti:
- Sistem informasi sekolah
- Aplikasi inventaris
- Sistem perpustakaan
- Aplikasi kasir
- Sistem laundry
- Sistem penjualan
- Website pengelolaan pelanggan
- Dashboard administrasi
Setelah menguasai CRUD, pembelajaran dapat dilanjutkan dengan relasi database, autentikasi pengguna, API, AJAX, framework PHP, dan berbagai konsep pengembangan aplikasi lainnya.
Kesimpulan
Cara kerja CRUD PHP dan MySQL pada dasarnya melibatkan PHP sebagai pengolah logika aplikasi dan MySQL sebagai tempat penyimpanan data.
CRUD terdiri dari empat operasi utama:
Create untuk menambahkan data, Read untuk menampilkan data, Update untuk mengubah data, dan Delete untuk menghapus data.
Keempat operasi tersebut menjadi fondasi penting dalam banyak aplikasi berbasis web. Dengan memahami alur CRUD dari formulir, PHP, hingga database, pemula akan lebih mudah membangun aplikasi yang dapat mengelola data secara dinamis dan terstruktur.