Tutorial PHP MySQL Part 20: Cara Membuat Koneksi PHP MySQL dengan PDO

Posted on

Setelah membahas mengenai pengertian PDO dan cara mengaktifkan driver PDO di dalam PHP, di panduan PHP MySQL kali ini kita akan membahas cara membuat koneksi PHP MySQL dengan PDO (PHP Data Object).

Pada panduan kali ini saya hanya fokus bagi membahas cara membangun koneksi, bagi cara menjalankan dan menampilkan data hasil query, akan kita bahas pada panduan berikutnya.


Membangun koneksi PHP MySQL dengan PDO constructor

Karena PDO yaitu guna/fitur PHP yang ditulis menggunakan objek, karenanya bagi membangun koneksi antara PHP dengan MySQL, kita menggunakan PDO constructor, yakni dengan membangun objek baru dari class PDO (menggunakan keyword: new).

Berikut yaitu struktur basic cara penulisan PDO constructor bagi database MySQL:

Variabel $dbh yaitu variabel yang akan menjadi object PDO. Object ini lazim disebut selaku “Database Handler”. Object inilah yang nantinya akan kita gunakan bagi menjalankan perintah-perintah PDO. Nama variabel boleh bebas, dan tak mesti $dbh.

Argumen dari constructor PDO terdiri dari 3 bagian, bagian pertama-tama berisi nama database server (misalnya:mysql) kemudian diikuti dengan domisili server dan nama database, semuanya di pada 1 string. Bagi argumen kedua diisi dengan nama user, dan argumen ketiga berisi password user.

Selaku contoh, bagi masuk ke pada MySQL server di komputer localhost, dengan user root, password: 12345, nama database: universitas, kode PDO yang digunakan yaitu selaku berikut:

Setelah membangun koneksi PDO, bagi menghapus koneksi kita tinggal memberikan nilai “null” kepada variabel “Database Handler” selaku berikut:

Sama seperti mysqli, proses penutupan koneksi ini bersifat opsional, dan PHP secara otomatis akan menghapus koneksi di ketika halaman PHP selesai dijalankan.

Walaupun pada panduan ini kita hanya membahas MySQL, selaku perbandingan berikut yaitu cara menjalankan koneksi bagi database server MS SQL, Sybase dan SQLite:

Koneksi PDO bagi MS SQL Server Database:

Koneksi PDO bagi Sybase Database:

Koneksi PDO bagi SQLite Database:


Cara Menampilkan Pesan Kesalahan (error) di PDO

Karena PDO menggunakan object, penanganan kesalahan akan lebih bagus jikalau menggunakan blok TRY…CATCH, atau dikenal dengan “exceptions”.

Bagi menampilkan pesan kesalahan dengan exceptions di PDO, terdapat 3 alternatif sistem. Ketiga sistem ini menggunakan method PDO::setAttribute(PDO::ATTR_ERRMODE):

  • $dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT );
  • $dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );
  • $dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );

PDO::ERRMODE_SILENT yaitu alternatif default. Kalau kita tak mengubah setingan error, alternatif inilah yang digunakan. Bagi mengecek error, kita dapat menggunakan method PDO::errorCode() dan PDO::errorInfo().

PDO::ERRMODE_WARNING digunakan bagi menampilkan error berupa warning PHP, kemudian PHP akan melanjutkan proses eksekusi program. Alternatif ini cocok bagi proses debugging.

PDO::ERRMODE_EXCEPTION digunakan bagi menampilkan error dengan exceptions. Alternatif inilah yang sering digunakan bagi menampilkan error dengan TRY…CATCH.

Dengan menggunakan penanganan kesalahan (exceptions), berikut yaitu modifikasi kode PHP bagi koneksi PDO dengan MySQL:

Selaku contoh, jikalau saya mengganti nama user menjadi “user_tetangga” yang memang tak ada di pada database, berikut tampilan error yang terjadi:

Didalam block TRY…CATCH inilah nantinya kita akan menjalankan query-query MySQL seperti menampilkan data, maupun menginput data baru ke pada tabel MySQL. Bagi cara menampilkan data tabel MySQL menggunakan PDO, akan kita bahas pada panduan berikutnya: Cara Menampilkan data MySQL menggunakan PDO (PHP Data Object).


Sumber https://www.duniailkom.com/