Sekapur Sirih

Jadi, gue lagi belajar MVC (lagi), dari Web Programming UNPAS - I love you, Pak Sandhika. Dan, tentunya, selain routing yang bikin bingung, ini PDO juga bikin gue bertanya-tanya ngapain pake beginian? Kenapa gak pake mysqli aja gitu yang gampil.

Ya udah, gue riset, gini hasilnya:

What?

PHP Data Object (PDO) adalah suatu interface PHP untuk membuat koneksi ke database. Tidak sama dengan mysqli yang langsung terhubung ke database server, PDO ini hanya interface saja. Hanya bisa diakses menggunakan object, gak bisa procedural.

Why?

Because:

  • PDO tidak terikat dengan jenis database tertentu. Jadi lo bisa pake PDO untuk MySQL atau PostgreSQL atau yang lainnya. Kalau mysqli kan hanya untuk MySQL doang kan.
  • Menggunakan kode PHP yang sama untuk apapun database server yang dipakai.
  • Memperbolehkan penggunaan exceptions untuk error handling.
  • PDO menyederhanakan penggunaan operasi databse insert dan update. Jadinya lebih aman dari serangan jahat semacam SQL injection.
  • Banyak helper function untuk mengoperasukan operasi rutin dengan otomatis.
  • Menawarkan API untuk mengakses multiple database.

Further Reading