Tutorial PHP Dasar #11: CRUD dengan PHP dan MySQL

Author Erick Irwansyah
25 Dec 2024
Tutorial PHP Dasar #11:  CRUD dengan PHP  dan MySQL

Halo! Kita sudah sampai di bagian yang lebih seru nih, yaitu CRUD: Create, Read, Update, dan Delete dengan PHP dan MySQL. CRUD adalah operasi dasar yang sering digunakan dalam aplikasi web untuk mengelola data. Yuk, kita pelajari bagaimana caranya!


Persiapan: Koneksi ke Database MySQL

Sebelum kita mulai, pastikan kamu sudah punya database di MySQL dan tabel untuk menyimpan data. Misalnya, kita buat tabel users dengan kolom id, nama, dan email.

SQL untuk membuat tabel users:

CREATE TABLE users (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    nama VARCHAR(100) NOT NULL,
    email VARCHAR(100) NOT NULL
);

Sekarang, kita perlu membuat koneksi ke database MySQL di PHP.

File koneksi (koneksi.php):

<?php
$host = "localhost"; // Host database
$username = "root"; // Username MySQL
$password = ""; // Password MySQL
$dbname = "db_php"; // Nama database

// Koneksi ke database
$conn = new mysqli($host, $username, $password, $dbname);

// Cek koneksi
if ($conn->connect_error) {
    die("Koneksi gagal: " . $conn->connect_error);
}
?>

Create: Menambah Data ke Database

Untuk menambah data ke dalam database, kita menggunakan query INSERT. Berikut ini contoh form dan kode PHP untuk menambah data.

Form untuk menambah data (tambah.php):

<form method="POST" action="proses_tambah.php">
    <label for="nama">Nama:</label>
    <input type="text" id="nama" name="nama"><br><br>

    <label for="email">Email:</label>
    <input type="email" id="email" name="email"><br><br>

    <button type="submit">Tambah</button>
</form>

Proses menambah data (proses_tambah.php):

<?php
include('koneksi.php');

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $nama = $_POST["nama"];
    $email = $_POST["email"];

    $sql = "INSERT INTO users (nama, email) VALUES ('$nama', '$email')";

    if ($conn->query($sql) === TRUE) {
        echo "Data berhasil ditambahkan!";
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }
}
?>

Read: Menampilkan Data dari Database

Untuk menampilkan data, kita menggunakan query SELECT.

Menampilkan data (tampil.php):

<?php
include('koneksi.php');

$sql = "SELECT * FROM users";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // Output data dari setiap baris
    while($row = $result->fetch_assoc()) {
        echo "ID: " . $row["id"]. " - Nama: " . $row["nama"]. " - Email: " . $row["email"]. "<br>";
    }
} else {
    echo "Tidak ada data ditemukan.";
}
?>

Update: Mengubah Data di Database

Untuk mengubah data, kita menggunakan query UPDATE.

Form untuk mengedit data (edit.php):

<form method="POST" action="proses_edit.php">
    <label for="id">ID:</label>
    <input type="text" id="id" name="id"><br><br>

    <label for="nama">Nama:</label>
    <input type="text" id="nama" name="nama"><br><br>

    <label for="email">Email:</label>
    <input type="email" id="email" name="email"><br><br>

    <button type="submit">Edit</button>
</form>

Proses edit data (proses_edit.php):

<?php
include('koneksi.php');

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $id = $_POST["id"];
    $nama = $_POST["nama"];
    $email = $_POST["email"];

    $sql = "UPDATE users SET nama='$nama', email='$email' WHERE id=$id";

    if ($conn->query($sql) === TRUE) {
        echo "Data berhasil diupdate!";
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }
}
?>

Delete: Menghapus Data dari Database

Untuk menghapus data, kita menggunakan query DELETE.

Proses menghapus data (hapus.php):

<?php
include('koneksi.php');

$id = $_GET["id"]; // Ambil ID dari URL

$sql = "DELETE FROM users WHERE id=$id";

if ($conn->query($sql) === TRUE) {
    echo "Data berhasil dihapus!";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}
?>

Link untuk menghapus data (tampil.php):

<?php
echo "<a href='hapus.php?id=".$row['id']."'>Hapus</a><br>";
?>

Apa Selanjutnya?
Setelah mempelajari CRUD, selanjutnya kita akan belajar tentang keamanan di PHP, seperti cara menghindari SQL Injection, mengelola input dengan aman, dan menggunakan password hashing.


Sekianlah belajar PHP tentang CRUD dengan MySQL. Dengan memahami CRUD, kamu bisa membuat aplikasi berbasis database yang interaktif dan dinamis. Artikel ini sangat berguna sebelum kamu melanjutkan ke tutorial PHP selanjutnya di www.code80vity.com. Sampai jumpa di pembahasan berikutnya, dan jangan lupa terus eksplorasi PHP!

Tutorial Terkait Lainnya

Comments

Please login to post a comment.
No comments yet. Be the first to comment!