BAB 15: PHP dan Database MySQL – Mengelola Data dengan Efisien

BAB 15: PHP dan Database MySQL – Mengelola Data dengan Efisien

Database adalah bagian penting dari aplikasi web. Dengan PHP dan MySQL, Anda bisa menyimpan, membaca, mengubah, dan menghapus data dengan mudah. Di bab ini, kita akan belajar koneksi database, CRUD dasar, query SQL, dan teknik keamanan.


Koneksi Database

PHP menyediakan dua cara populer untuk terhubung ke MySQL: MySQLi dan PDO.

1. Koneksi dengan MySQLi

<?php
$host = "localhost";
$user = "root";
$pass = "";
$db   = "db_test";

$conn = mysqli_connect($host, $user, $pass, $db);

if(!$conn) {
    die("Koneksi gagal: " . mysqli_connect_error());
} else {
    echo "Koneksi berhasil!";
}
?>

2. Koneksi dengan PDO

<?php
try {
    $conn = new PDO("mysql:host=localhost;dbname=db_test", "root", "");
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Koneksi berhasil!";
} catch(PDOException $e) {
    echo "Koneksi gagal: " . $e->getMessage();
}
?>

CRUD Dasar

CRUD adalah operasi dasar pada database: Create, Read, Update, Delete.

1. Create (INSERT)

<?php
$sql = "INSERT INTO users (nama, email) VALUES ('Budi', 'budi@example.com')";
mysqli_query($conn, $sql);
?>

2. Read (SELECT)

<?php
$result = mysqli_query($conn, "SELECT * FROM users");
while($row = mysqli_fetch_assoc($result)) {
    echo $row['nama'] . " - " . $row['email'] . "<br>";
}
?>

3. Update

<?php
$sql = "UPDATE users SET email='budi123@example.com' WHERE nama='Budi'";
mysqli_query($conn, $sql);
?>

4. Delete

<?php
$sql = "DELETE FROM users WHERE nama='Budi'";
mysqli_query($conn, $sql);
?>

Menjalankan Query SQL

PHP menyediakan beberapa cara untuk menjalankan query SQL:

  • mysqli_query() → untuk MySQLi
  • PDO->query() → untuk PDO
  • PDO->prepare() dan PDOStatement->execute() → untuk prepared statement

Prepared Statement (Keamanan)

Prepared statement mencegah SQL Injection dengan memisahkan query dan data:

Contoh MySQLi

<?php
$stmt = $conn->prepare("INSERT INTO users (nama, email) VALUES (?, ?)");
$stmt->bind_param("ss", $nama, $email);

$nama = "Siti";
$email = "siti@example.com";
$stmt->execute();
?>

Contoh PDO

<?php
$stmt = $conn->prepare("INSERT INTO users (nama, email) VALUES (:nama, :email)");
$stmt->bindParam(':nama', $nama);
$stmt->bindParam(':email', $email);

$nama = "Andi";
$email = "andi@example.com";
$stmt->execute();
?>

Menangani Hasil Query

Setelah menjalankan query SELECT, hasilnya bisa diproses:

<?php
$result = mysqli_query($conn, "SELECT * FROM users");
if(mysqli_num_rows($result) > 0) {
    while($row = mysqli_fetch_assoc($result)) {
        echo $row['nama'] . "<br>";
    }
} else {
    echo "Data tidak ditemukan";
}
?>

Dengan kombinasi CRUD, prepared statement, dan hasil query, Anda bisa membuat aplikasi PHP yang dinamis, aman, dan handal.

READ :  PHP Security: Cara Mencegah SQL Injection & XSS Secara Benar dan Berkelanjutan
Topic : Web | Tags : , ,

Penulis: Andreas

Andreas adalah penulis konten yang berfokus pada topik teknologi, bisnis online, dan digital. Ia aktif membuat artikel informatif yang membantu pembaca memahami isu-isu internet secara lebih jelas dan mudah dipahami.

Editor: Team SEOSatu

Team SEOSatu bertanggung jawab atas proses penyuntingan, verifikasi, dan optimasi SEO pada setiap artikel. Tim memastikan konten yang dipublikasikan akurat, relevan, dan sesuai standar kualitas SEO.