Mengenal PDO dan cara mengaktifkan PDO di PHP

Hai teman – teman selamat datang di warung belajar, dalam tutorial ini kita akan melanjutkan pembahasan mengenai seri tutorial PHP.

Kita akan mengenal Fitur PDO, dan bagaimana cara untuk mengaktifkan PDO di php.

 

Sebenarnya PDO itu apaan sih ?

PDO merupakan extention yang dapat digunakan untuk melakukan koneksi antara file php ke database.

 

Lalu apa perbedaan saat kita menggunakan PDO dan menggunakan teknik yang telah kita bahas di tutorial sebelumnya, yaitu melakukan koneksi database dari php menggunakan mysqli atau mysql extention ?

Baik kita coba bahas terlebih dahulu pengertian dari PDO, PDO adalah singkatan dari (PHP Data Objects), PDO merupakan interface universal yang disediakan oleh PHP yang berguna untuk melakukan komunikasi antara php dan database server.

yang membedakan disini adalah PDO tidak terikat dengan aplikasi database tertentu, sedangkan extention Mysqli dan Mysql hanya terikat pada database MySQL saja.

Maksud dari tidak terikat adalah sebagai berikut :

Semisal anda saat ini sedang membangun sebuah aplikasi dengan php dan databasenya adalah MySQL, lalu dikemudian hari anda diharuskan untuk migrasi ke database jenis lain, semisal PostgreSQL atau SQL Server, jika kondisi ini terjadi anda tidak perlu merubah seluruh perintah SQL yang ditulis di PHP, anda hanya perlu mengganti cara pemanggilan awal PDO maka seluruh kode program akan dapat digunakan di database server yang baru.

 

Hal ini tidak berlaku jika anda menggunakan Mysqli atau mysql extention, dua extention ini hanya dapat berkomunikasi dengan MySQL, jika anda akan beralih ke database seperti PostgreSQL maka anda akan merubah code yang ada agar dapat digunakan di Database PostgreSQL

Karena alasan ini ada baiknya anda segera beralih dari MySQLi Extention ke PDO Extention

 

Dengan menggunakan MySQL atau MySQLi extention, PHP akan langsung terhubung dengan MySQL Server (direct)

Tetapi jika anda menggunakan PDO, PDO tidak langsung terhubung dengan Database Server, melainkan PDO digunakan sebagai interface.

Berbeda dengan MySQLi atau MySQL extention yang menyediakan procedural style, jika anda menggunakan PDO, anda hanya diperbolehkan mengaksesnya menggunakan konsep OOP saja.

Jadi untuk dapat menggunakan PDO ada baiknya anda perlu belajar terlebih dahulu mengenai konsep OOP di php, anda bisa belajar di tutorial kita sebelumnya mengenai OOP : Mengenal Class, Property, Method dan object pada OOP di PHP

 

 

Beberapa jenis Database Server yang didukung oleh PDO

Saat tutorial ini dibuat PHP ada di versi 7.3, terdapat 12 database server yang didukung oleh PDO, antara lain :

  • CUBRID (PDO)
  • MS SQL Server (PDO)
  • Firebird (PDO)
  • IBM (PDO)
  • Informix (PDO)
  • MySQL (PDO)
  • MS SQL Server (PDO)
  • Oracle (PDO)
  • ODBC and DB2 (PDO)
  • PostgreSQL (PDO)
  • SQLite (PDO)
  • 4D (PDO)

Untuk daftar database server yang didukung oleh PDO bisa anda lihat di link berikut : http://php.net/manual/en/pdo.drivers.php.

Terlihat untuk database yang sering kita temui, seperti MS SQL Server (Sql Server), Oracle, Postgresql, dan MySQL sudah mendukung PDO, sehingga akan memudahkan teman – teman yang sering menggunakan database server tersebut.

 

Cara Mengaktifkan Fitur PDO

Nah setelah kita mengenal apa itu PDO, beserta fungsinya, berikutnya kita akan belajar untuk mengaktifkan fitur PDO di PHP.

PDO Extention secara default dapat digunakan sejak PHP 5.1, tetapi tidak semua driver database pada PDO diaktifkan, dengan alasan performa PHP menonaktifkan beberapa fitur PDO untuk beberapa database server, sehingga ketika anda akan menggunakan PDO untuk database server tertentu, anda perlu mengaktifkannya terlebih dahulu.

Nah untuk mengetahui driver database server apa saja yang sedang aktif, anda dapat menggunakan fungsi PDO::getAvailableDrivers():

Contoh penggunaan perintah tersebut adalah seperti berikut ini :

Jika dijalankan maka tampilannya adalah seperti berikut ini :

Keterangan :

  • Jika dilihat dalam contoh diatas, untuk database server mysql, dan sqlite telah aktif untuk extention PDO.

 

 

Mengaktifkan Driver Database Server Lainnya

Cara untuk mengaktifkan driver untuk database server adalah dengan merubah settingan pada file php.ini

File php.ini merupakan file yang berisi konfigurasi dari PHP.

Untuk konfigurasi php di file php.ini, anda dapat mengedit file php.ini didirektori php anda, karena dalam contoh ini saya menggunakan xampp yang terinstall di drive C, maka posisi dari file php.ini berada di C://xampp/php/php.ini

Silahkan buka file php.ini dengan menggunakan aplikasi texteditor yang biasanya anda gunakan seperti notepad, notepad++, sublime, atom, VSCode atau text editor lainnya.

Untuk mencari settingan dari PDO di file php.ini, anda bisa menggunakan fitur pencarian dengan memasukkan pencarian kata “pdo”.

Pada versi php yang saya gunakan, hasil pencarian PDO akan dimulai di baris 918

 

setting php.ini untuk pdo

Keterangan :

  • Perhatikan terdapat beberapa extention PDO yang dapat diaktifkan, untuk mengaktifkan anda dapat menghapus tanda ; (titik koma).
  • Dalam contoh ini kita akan mengaktifkan PDO untuk PostgreSQL, perhatikan pada baris 922, kita menghapus tanda ; (titik koma) pada perintah extension=pdo_pgsql
  • Setelah anda mensetting bagian PDO, anda bisa menyimpan perubahan di file php.ini tersebut.
  • Langkah berikutnya anda dapat melakukan restart webserver Apache, pada xampp anda dapat stop, lalu menjalankan kembali service apache pada Xampp Control Panel

 

Berikutnya kembali kita coba menjalankan file php yang berisi perintah untuk mengecek driver PDO yang aktif, dengan function PDO::getAvailableDrivers()

Maka hasilnya adalah sebagai berikut ini  :

daftar driver database yang ada di pdo

Keterangan :

  • Maka sekarang untuk driver database yang aktif untuk PDO, ada 3 yaitu MySQL, PostgreSQL, dan SQLite

 

Catatan :

Jika anda mencoba untuk mengatifkan driver PDO lainnya seperti Oracle, untuk perintah : extension=php_pdo_oci.dll

Ternyata menampilkan pesan error “The program can’t start because OCI.dll is missing from your computer”

Pesan Error tersebut dikarenakan PHP tidak menemukan library php_pdo_oci.dll karena memang secara default php tidak menyediakan library tersebut, sehingga anda perlu mendownloadnya secara manual.

 

 

Baik sekian dulu teman – teman pembahasan tutorial kali ini, kita telah belajar untuk mengenal apa itu PDO, bagaimana perannya dalam PHP, serta bagaimana cara mengaktifkan driver database untuk dapat menggunakan fitur PDO, dalam tutorial selanjutnya kita akan belajar mengenai bagaimana berkomunikasi dengan database menggunakan fitur PDO ini, baik sekian dulu sampai jumpa ditutorial selanjutnya.

 

 

 

Leave a Comment

Your email address will not be published.