Hampir semua aplikasi nyata menyimpan data di database relasional. Section ini membahas akses database PHP dengan PDO sebagai senjata utama: membuka koneksi, prepared statements, parameter binding, fetching, hingga transactions yang menjaga konsistensi data. Kita juga meninjau driver SQLite, MySQL, dan PostgreSQL, cara mencegah SQL injection, lalu menutup dengan repository pattern yang mengisolasi akses data dari logika bisnis.

# Dasar Database Relasional

Pelajari konsep tabel, primary key, relasi, index, dan ACID sebagai fondasi sebelum berbicara dengan database lewat PHP.

Buka →
# Dasar SQL

Pelajari cara membaca dan mengubah data dengan SELECT, INSERT, UPDATE, DELETE, JOIN, dan fungsi agregat SQL.

Buka →
# Database Drivers

Pelajari cara memeriksa dan memilih ekstensi serta driver database yang tersedia di PHP.

Buka →
# PDO

Pelajari cara mengakses berbagai database dengan API PDO yang seragam melalui query, exec, dan prepare.

Buka →
# PDO Connections

Pelajari cara membuka koneksi PDO dengan DSN yang tepat, menyetel opsi, dan menangani kegagalan koneksi.

Buka →
# Prepared Statements

Pelajari cara memisahkan struktur SQL dari data dengan prepared statements untuk keamanan dan performa.

Buka →
# Parameter Binding

Pelajari cara mengikat nilai ke parameter prepared statement dengan bindValue, bindParam, dan array execute agar query aman dan konsisten.

Buka →
# Fetching Results

Pelajari cara mengambil hasil query dengan fetch, fetchAll, dan fetchColumn serta memilih fetch mode yang tepat untuk tiap kebutuhan.

Buka →
# Transactions

Pelajari cara memakai beginTransaction, commit, dan rollBack agar rangkaian query database berjalan utuh atau batal bersama-sama.

Buka →
# Transaction Management

Pelajari cara mengelola transaksi tingkat lanjut dengan savepoint, helper callback, isolation level, dan strategi menghindari deadlock.

Buka →
# Database Errors

Pelajari cara menangani error database dengan mode error PDO, kode SQLSTATE, dan pembungkusan exception agar aplikasi tetap terkendali.

Buka →
# SQL Injection Prevention

Pelajari cara mencegah SQL injection dengan prepared statements, allowlist nama kolom, dan escaping wildcard LIKE.

Buka →
# SQLite dengan PHP

Pelajari cara memakai SQLite dari PHP: DSN berkas dan :memory:, PRAGMA foreign_keys, mode WAL, serta kapan SQLite layak dipakai di produksi.

Buka →
# MySQL dengan PHP

Pelajari cara menyambungkan PHP ke MySQL: DSN utf8mb4, pilihan antara PDO dan mysqli, serta migrasi skema dari SQLite.

Buka →
# PostgreSQL dengan PHP

Pelajari cara memakai PostgreSQL dari PHP: DSN pgsql, klausa RETURNING, upsert ON CONFLICT, schema, dan kapan database ini jadi pilihan terbaik.

Buka →
# Repository Pattern

Pelajari cara membungkus akses PDO dalam repository class, mengekstrak interface, dan membuat kode aplikasi bebas dari SQL.

Buka →