PHP Mysqli Vs Pdo Perbandingan
Ringkasan
Dua ekstensi akses MySQL di PHP: MySQLi (MySQL-only) dan PDO (multi-driver). PDO disarankan untuk portabilitas & API konsisten.
Konsep Dasar
- MySQLi: OO & procedural, hanya MySQL.
- PDO: mendukung 12+ driver (MySQL, PG, SQLite), API seragam.
- Keduanya support prepared statement.
- PDO lebih mudah dipindah ke DB lain.
Cara Kerja / Struktur
// MySQLi
$m = new mysqli($h, $u, $p, $db);
$st = $m->prepare("SELECT * FROM t WHERE id=?");
$st->bind_param("i", $id); $st->execute();
// PDO
$p = new PDO("mysql:host=$h;dbname=$db", $u, $p);
$st = $p->prepare("SELECT * FROM t WHERE id=?");
$st->execute([$id]);Catatan Implementasi
- Proyek baru: pakai PDO (konsisten & portable).
- Legacy yang sudah MySQLi: tidak wajib migrasi.
- Prepared statement wajib di keduanya untuk keamanan.
Kesalahan Umum
- Mikir MySQLi lebih cepat (perbedaan marginal; prepared stmt lebih penting).
- Campur driver saat migrasi DB.
Glosarium
- Driver: modul koneksi ke engine DB tertentu.
- Portabilitas: mudah pindah engine.