Sekilas Tentang PDO (PHP Data Object)

07 Apr 2017

Sekilas Tentang PDO (PHP Data Object)

Banyak programmer PHP yang mempelajari bagaimana caranya berinteraksi dengan database, misalnya menggunakan ekstensi MySQL atau bisa juga MySQLi, namun di versi PHP 5.1+ kini sudah ada ekstensi terbaru untuk berinteraksi dengan Database, yaitu PDO (PHP Data Object). Ya, dari namanya sudah jelas dimana PDO ini dalam penggunaannya sudah berbasis object. PDO menggunakan sistem prepare untuk melakukan query dan hal ini dapat memfilter query dari serangan SQL Injection.

PDO (PHP Data Object)

PDO dapat digunakan di banyak database server, kita hanya perlu mengganti driver database ketika membuat koneksi, dan tidak perlu lagi mengubah kode lainnya, dan hal ini lah yang sangat memudahkan bagi seorang backend programer yang sudah pasti akan selalu berinteraksi dengan database.

Contoh implementasi saat melakukan koneksi database di PDO seperti ini

$this->db = new PDO("mysql:host=localhost;dbname=example", 'username', 'password');

Apa saja database yang didukung PDO ini? Ternyata banyak juga database yang sudah di dukung oleh PDO, diantaranya adalah sebagai berikut

Database Support

  • PDO_DBLIB ( FreeTDS / Microsoft SQL Server / Sybase )
  • PDO_FIREBIRD ( Firebird/Interbase 6 )
  • PDO_IBM ( IBM DB2 )
  • PDO_INFORMIX ( IBM Informix Dynamic Server )
  • PDO_MYSQL ( MySQL 3.x/4.x/5.x )
  • PDO_OCI ( Oracle Call Interface )
  • PDO_ODBC ( ODBC v3 (IBM DB2, unixODBC and win32 ODBC) )
  • PDO_PGSQL ( PostgreSQL )
  • PDO_SQLITE ( SQLite 3 and SQLite 2 )
  • PDO_4D ( 4D )

Banyak juga bukan? Sekarang bagaimana contoh query sederhana dari PDO ini?

$query = $this->db->prepare("SELECT title FROM posts WHERE id = ?");
$query->bindValue(1, $_GET['id']);
$query->execute();
$result = $query->fetchAll(PDO::FETCH_ASSOC);

Nah seperti itu contoh simplenya, dimana di dalam kode tersebut di jelaskan bahwa kita akan mengambil title dari post berdasarkan id yang diinput. dan untuk mencegahnya dari SQL Injection maka digunakan prepare dan di passing datanya ke query melalui fungsi bindValue().

Kurang lebih seperti itu lah cara kerja PDO dan banyak kelebihannya. Untuk tutorial mengenai PDO ini akan saya buat di sesi selanjutnya. Nantikan tutorial saya dan pantengin terus blog nya. Terimakasih