Cara Kerja CRUD PHP dan MySQL dalam Aplikasi Berbasis Web

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:

  • localhost merupakan server database.
  • root merupakan username MySQL.
  • "" merupakan password.
  • db_crud merupakan 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:

KolomTipe DataKeterangan
idINTPrimary Key
nama_barangVARCHARNama barang
hargaINTHarga barang
stokINTJumlah stok

Contoh data:

IDNama BarangHargaStok
1Keyboard15000010
2Mouse7500020
3Monitor15000005

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.

CRUDHTTP Method yang Umum Digunakan
CreatePOST
ReadGET
UpdatePUT / PATCH / POST
DeleteDELETE / 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.

Leave a Reply

Your email address will not be published. Required fields are marked *