Ini adalah tutorial ketiga dari empat tutorial yang membahas tentang teknik koneksi database di PHP. Teknik sebelumnya telah membahas tentang teknik PHP MYSQL klasik dan teknik menggunakan MYSQLi. Pertanyaannya adalah, bagaimana kalau website yang akan kita bagun, ingin migrasi database ke oracle atau ke vendor selain mySQL?.
PDO adalah penyelamat anda. Pernahkah anda berpikir bagaimana CMS dan PHP framework bisa mendukung multiple database hanya dengan mengubah konfigurasinya? Itu karena CMS dan PHP framework itu menggunakan PDO. Biasanya CMS yang memakai PDO minimal menawarkan akses mySQL,SQLite, Postgres dan Oracle. Dengan PDO, jika kita pindah database (secara teori) kita hanya mengubah konfigurasi saja tanpa harus susah payah mengganti kode satu satu di ratusan file PHP yang kita punya. Gimana, keren ga?
Untuk tampilan, rancangan table serta struktur project masih sama dengan tutorial pertama. Bagian ini fokus pada cara mendeteksi Apakah PDO disupport oleh Server anda dan sample code CRUDnya saja.
Cara mendeteksi PDO
cara termudah untuk mendeteksi support PDO adalah menggunakan script ini
print_r(PDO::getAvailableDrivers());
Cara yang lebih mudah, gunakan phpinfo(). Berikut ini contoh tampilan support PDO di XAMPP.

Sample kode
Sample ini menggunakan driver PDO MySQL dan menggunakan teknik name paramater.
Koneksi
//koneksi MYSQL dengan PDO $db=new PDO('mysql:host=localhost;dbname=candralab;charset=utf8','root',''); //contoh kalo postgresql //$db=new PDO('pgsql:host=namaserverorIP;dbname=namadatabase;charset=utf8','usernamedb','passworddb');
tampil
$sql="select * from kampus "; $stmt=$db->query($sql); while($kampus=$stmt->fetch(PDO::FETCH_OBJ)){ echo $kampus->nama; echo $kampus->alamat; }
insert
$sql = "INSERT INTO kampus(nama,alamat) VALUES(?,?)"; $stmt=$db->prepare($sql); $result=$stmt->execute(array($nama,$alamat));
Update
$sql = "update kampus set nama=?, alamat=? where idkampus=?"; $stmt=$db->prepare($sql); $result=$stmt->execute(array($nama,$alamat,$id));
Delete
$sql = "delete from kampus where idkampus=?"; $stmt=$db->prepare($sql); $result=$stmt->execute(array($id));
Setelah kita tahu manfaat PDO, apakah ada cara yang lebih mudah,kode lebih pendek dan query secara default aman dari SQL injection? Jika anda menjawab dengan PHP framework, anda benar tapi kurang akurat. Lebih tepat Gunakan ORM. Makanan apa lagi ini? cek tutorial ORM dengan PHP Active Record di artikelselanjutnya. ORM merubah total teknik query database dan menhemat waktu coding secara significant.
kalau menggunakan appserv cara mendeteksi pdonya bagaimana
Mas, Lengkapin dong sama kolom nya :)
Trus kalo input pake menu dropdown / spry gmn?
thanks