PHP Data Objects
PHP Data Objects merupakan sebuah antarmuka umum (universal interface) yang disediakan oleh PHP dan digunakan untuk berkomunikasi dengan database. universal interface artinya PHP Data Objects tidak tergantung kepada aplikasi database tertentu.
Baca Juga : Memahami Tipe data Objek PHP

Konsep PDO ini dapat digambarkan sebagai berikut:
PHP PDO –> Database Driver –> Database Server
PHP Data Objects menggunakan metode data-access abstraction layer sebagai prinsip kerjanya. Artinya, apa pun jenis database enginee yang digunakan, maka kode PHP yang ditulis akan tetap sama. Dengan menyediakan abstraction layer maka PDO dapat berkomunikasi dengan database server.
Untuk menggunakan PHP Data Objects, kita harus mengaksesnya menggunakan object. PHP Data Objects tidak menyediakan cara penulisan procedural style seperti mysqli atau mysql extension.
Jenis Database Server yang didukung PHP Data Objects
- CUBRID
- MS SQL Server
- Firebird
- IBM
- Informix
- MySQL / MariaDB
- MS SQL Server
- Oracle
- ODBC and DB2
- PostgreSQL
- SQLite
- 4D
Membuat object menggunakan Class milik PDO yang sudah tersedia didalam PHP (PDO sudah tersedia pada versi PHP 5.1 keatas) menggunakan statement code dibawah ini :
<?php
try
{
$con = new PDO("mysql:host=localhost;dbname=oop","root","");
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
parameter pada constructor dalam class PDO :
New PDO ($DSN, $USERNAME, $PASSWORD)
sebuah object menggunakan class PDO dengan 3 Parameter yang harus kita isi yaitu : DSN adalah singkatan dari Data Source Name ini mengacu kepada database apa yang kita gunakan dan nama database, Username dan Password adalah user credential yang kita butuhkan untuk mengakses sebuah database.
Simak juga video berikut :
Method Query()
Method query() adalah salah satu method/function yang dimiliki class PDO untuk mengeksekusi sebuah Select Statement.
Jika method/function ini digunakan maka akan mengembalikan (return) sebuah PDOstatement object yang didalamnya terdapat sebuah hasil (result set) yang terdiri dari baris dan kolom, jika tidak terdapat sebuah hasil maka dia akan mengembalikan nilai logika FALSE.
<?php
include('main.php');
$result = $con->query('SELECT * FROM table1');
foreach ($result as $d) :
echo $d['nama'] . " <br/>";
endforeach;
?>
Pada code diatas kita mencoba mengeksekusi sebuah sql statement sederhana untuk melihat seluruh isi kolom (column) dan baris (row) yang ada didalam table1 menggunakan method/function query.
Return dari method query adalah seluruh column dan row yang ada didalam table1 yang kemudian disimpan didalam variable $result, selanjutnya kita menyebut variable $result sebagai PDOStatement Object.
Kemudian untuk melihat isi PDOstatement Object $result kita bisa menggunakan control structure foreach dan hanya mengambil column yang memiliki string „nama‟ dan seluruh isi record yang ada didalamnya.
Sumber : www.php.net