Pengertian PDO (PHP Data Objects)
PDO (PHP Data Objects) adalah interface universal yang disediakan PHP untuk “berkomunikasi” dengan database server. Maksud istilah “interface universal” disini adalah bahwa PDO tidak terikat dengan aplikasi database tertentu. Apabila saat ini kita menggunakan database MySQL dan dikemudian hari ingin bermigrasi menggunakan PostgreSQL, kita hanya tinggal mengganti cara pemanggilan awal PDO dan seluruh kode program yang ada bisa langsung digunakan untuk database baru.
Kondisi ini berbeda jika menggunakan mysql extension atau mysqli extension. Kedua extension ini hanya bisa bekerja dengan database MySQL. Karena alasan inilah banyak sebaiknya kita mulai beralih menggunakan PDO dibandingkan mysqli.
Secara teknis, apabila menggunakan mysql atau mysqli extension, PHP langsung berhubungan dengan MySQL Server, tetapi jika menggunakan PDO, ia tidak berhubungan langsung dengan database, tetapi hanya sebagai “interface”. Konsep PDO ini dapat digambarkan sebagai berikut:
PHP PDO –> Database Driver –> Database Server
PDO bekerja dengan metode yang disebut “data-access abstraction layer”. Artinya, apapun jenis database server yang digunakan, kode PHP yang ditulis akan tetap sama. PDO menyediakan “abstraction layer” untuk berkomunikasi dengan database server.
Untuk menggunakan PDO, kita harus mengaksesnya menggunakan object. PDO tidak menyediakan cara penulisan procedural style seperti mysqli atau mysql extension.
Jenis Database Server yang didukung PDO
Hingga saat penulisan tutorial ini (PHP versi 5.6) PDO mendukung setidaknya 12 jenis Interface/Database Server:
§ CUBRID
§ MS SQL Server
§ Firebird
§ IBM
§ Informix
§ MySQL
§ MS SQL Server
§ Oracle
§ ODBC and DB2
§ PostgreSQL
§ SQLite
§ 4D
List ini dapat anda lihat dari http://php.net/manual/en/pdo.drivers.php.
Dapat dilihat bahwa PDO mendukung banyak aplikasi database populer seperti: Oracle, Microsoft SQL Server, dan PostgreSQL. Dengan membuat kode PHP menggunakan PDO, secara tidak langsung kita juga membuka kemungkinan untuk menggunakan database server selain MySQL, sehingga menjadi lebih fleksibel.
Cara Mengaktifkan PDO Extension
Untuk mengaktifkan PDO, configure --enable-pdo and --with-pdo-sqlite --with-pdo-mysql atau apa pun database yang perlu mendukung dengan PDO (lihat manual PHP untuk informasi lebih lanjut).
Pengguna Windows
· Untuk Apache, Anda akan perlu memastikan bahwa php_pdo.dll dan php_pdo_mysql.dll ada di direktori php/ext. Hilangkan tanda komentar atau tambahkan baris yang sesuai dalam php.ini, dan restart server web Anda.
· Untuk IIS, dll PDO tidak diaktifkan secara default. Metode yang digunakan untuk memasangnya adalah dengan pergi ke Control Panel | Add / Remove Programs, sorot instalasi PHP Anda dan klik "Change" (Ubah / Hapus - Win XP). Tentukan "FastCGI", kemudian modifikasi ekstensi yang terinstall dengan menyertakan keduanya, kemudian restart server Anda.
Pengguna Macintosh
Metode 1
OS X 10.5: langkah-demi-langkah petunjuk rinci yang tersedia di sini:
· Mendapatkan PHP + GD + PDO_MYSQL bekerja di OSX 10.5 (mengkompilasi ulang alias)
· Mendapatkan PHP + GD + PostgreSQL bekerja pada OSX 10.5 (mengkompilasi ulang alias)
OS X 10.6: OS 10.6 hadir dengan ekstensi PDO diaktifkan secara default. (Untuk petunjuk tentang cara mengkonfigurasi lingkungan pengembangan Anda, lihat:
Drupal 6 pada OS X 10.6
Metode 2
MAMP telah di pra-dikonfigurasi dengan ekstensi PDO. Untuk informasi lebih lanjut, lihat: Bagaimana: Ciptakan lingkungan lokal menggunakan MAMP.
Pengguna Linux
PDO diaktifkan secara default pada php 5.1.0 pada sistem linux yang paling. Ada dokumentasi untuk mengaktifkan PDO untuk driver spesifik mysql.
Ubuntu
Seperti hal-nya dengan sistem Linux yang umum, dukungan PDO hadir dalam PHP5 di semua distro Ubuntu yang terbaru, dan tentu saja di PHP 5,2 yang diperlukan untuk Drupal 7. Jika Anda menemukan bahwa PDO dukungan tidak diaktifkan, instal paket berikut dan restart server dengan perintah:
sudo apt-get install php5-common php5-mysql
sudo /etc/init.d/apache2 reload
sudo service apache2 reload
Catatan: Sebelum restart server, pastikan bahwa ekstensi = pdo.so dan extensi = pdo_mysql.so sudah dimuat, baik di file php.ini atau mereka sendiri. Inisial file di dalam / etc/php5/conf.d.
Centos
Jika Anda menemukan bahwa PDO dukungan tidak diaktifkan, lakukan langkah berikut melalui SSH
yum update php-mysql
Jika pesan bash memberitahu Anda bahwa PDO-mysql tidak terpasang, maka lakukan perintah:
yum install php-mysql
kemudian restart httpd Anda / apache.
Ketika Anda mencoba menjalankan script installasi drupal, Anda harus dapat men-setup database MySQL
Melalui WHM
Pergi ke Software> Easy Apache > Exhaustive Options List
Pilih PDO dan PDO MySQL
Kemudian simpan.
Pemecahan Masalah
Jangan gunakan installer PECL PDO. Proyek ini telah usang dan ditinggalkan. (Lihat http://pecl.php.net/package/PDO.) Kasus telah dilaporkan di mana dukungan PECL PDO tampaknya diaktifkan tetapi tidak bekerja dengan benar. Salah satu gejala-nya adalah ketidakmampuan untuk menginstal Drupal 7.
Jika Anda telah menginstal PECL PDO, Anda perlu untuk menghapus dan kemudian instal ulang versi dari inti PHP, atau meminta penyedia hosting Anda untuk melakukannya.
Pada Debian dan Ubuntu, perintah yang diperlukan adalah:
sudo pecl uninstall pdo_mysql
sudo pecl uninstall pdo
sudo apt-get install --reinstall php5-common php5-mysql
sudo /etc/init.d/apache2 reload.
Metode 1
OS X 10.5: langkah-demi-langkah petunjuk rinci yang tersedia di sini:
Drupal 6 pada OS X 10.6
MAMP telah di pra-dikonfigurasi dengan ekstensi PDO. Untuk informasi lebih lanjut, lihat: Bagaimana: Ciptakan lingkungan lokal menggunakan MAMP.
PDO diaktifkan secara default pada php 5.1.0 pada sistem linux yang paling. Ada dokumentasi untuk mengaktifkan PDO untuk driver spesifik mysql.
Seperti hal-nya dengan sistem Linux yang umum, dukungan PDO hadir dalam PHP5 di semua distro Ubuntu yang terbaru, dan tentu saja di PHP 5,2 yang diperlukan untuk Drupal 7. Jika Anda menemukan bahwa PDO dukungan tidak diaktifkan, instal paket berikut dan restart server dengan perintah:
sudo /etc/init.d/apache2 reload
sudo service apache2 reload
Jika Anda menemukan bahwa PDO dukungan tidak diaktifkan, lakukan langkah berikut melalui SSH
Melalui WHM
Pilih PDO dan PDO MySQL
Kemudian simpan.
sudo pecl uninstall pdo
sudo apt-get install --reinstall php5-common php5-mysql
sudo /etc/init.d/apache2 reload.
Tutorial PDO PHP
Kemudian Buatlah file bernama index.php untuk halaman awal dan inputan.
Buatlah file kembali bernama list.php untuk menampilkan data yang sudah di tambahkan.
Buatlah file bernama library.php untuk membuat proses pengiriman data dari php atau web ke database.
Terakhir buatlah file bernama edit.php untuk membuat halaman editnya.
Kemudian setelah selesai membuat file - file tersebut, sekarang buka browser kalian kemudian jalankan pada localhos dan hasilnya seperti ini.
Di gambar terlihat inputan yang sudah diisi kemudian klik tombol tambah untuk menmabahkan. Dan akan menuju ke halaman list data yang sudah dimasukan di database.
Disini saya mencoba merubah namanya yaitu menjadi Firdaus Shinoda kemudian klik tombol updat, dan akan kembali ke halaman list data seperti berikut.
Terakhir yaitu mencoba menghapus data yang ingin kita hapus, yaitu klik tombol delete dan ketika berhasil maka data yang kita hapus sudah tidak ada di daftar list.
Mungkin cukup sekian pembahasan mengenai PDO. :D
referensi:
- http://www.duniailkom.com/tutorial-php-mysql-pengertian-pdo-dan-cara-mengaktifkan-pdo-php-data-objects/
- http://drupal.or.id/dokumentasi/php/apa-itu-pdo#.WBijk_l9600