SlideShare a Scribd company logo
1 of 24
PDO (PHP DATA
OBJECT)
R A K H M I K H A L I D A
PERKEMBANGAN KONEKSI PHP
• PHP merupakan bahasa pemograman yang selalu di update dan
berkembang mengikuti teknologi terbaru. Saat ini, Pemrograman
Berorientasi Objek (Object Oriented Programming) merupakan trend
pemrograman PHP, dan hal ini juga mempengaruhi cara mengakses
database dari PHP.
• PHP memiliki 3 cara pengaksesan MySQL, yakni melalui PDO (PHP Data
Objects), mysqli extension dan mysql
extension. PDO menggunakan pemrograman objek, mysqli extension
tersedia dalam bentuk objek dan prosedural (diakses melalui fungsi-
fungsi) sedangkan mysql extension sepenuhnya menggunakan
pemograman prosedural
KONEKSI MYSQL DENGAN MYSQL
EXTENSION
• Untuk mengakses MySQL dari PHP, kita menggunakan fungsi-
fungsi
seperti mysql_connect(), mysql_query(), dan mysql_fetch_array
().
• Fungsi-fungsi ini tergabung ke dalam mysql extension
KONEKSI MYSQL DENGAN MYSQLI
EXTENSION
• mysqli merupakan singkatan dari MySQL Improved.
• Mysqli extension ini pada dasarnya adalah perbaikan
dari mysql extension dan dikembangkan untuk mendukung
fitur-fitur terbaru untuk MySQL 4.1 keatas.
• Hampir semua fungsi yang ada pada mysql extension juga
tersedia pada mysqli. Syntax (aturan
mirip dengan mysql extension
KONEKSI MYSQL DENGAN PDO (PHP DATA
OBJECTS)
• Untuk menggunakan PDO, kita harus mengaksesnya menggunakan object. PDO tidak
menyediakan cara penulisan procedural style seperti mysqli atau mysql extension.
• Familiar dengan istilah pemrograman object / konsep OOP seperti class,
method, dan property, polymorphism, encapsulation, dan inheritance
DEFINISI
• PDO (PHP Data Objects) adalah interface universal yang disediakan PHP untuk
“berkomunikasi” dengan database server.
• Istilah “interface universal” 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
untuk database baru.
• PDO bekerja dengan metode yang disebut “data-access abstraction layer”. Artinya,
apapun jenis database server yang digunakan, kode PHP yang ditulis akan tetap
• PDO menyediakan “abstraction layer” untuk berkomunikasi dengan database server.
JENIS DATABASE SERVER YANG
DIDUKUNG PDO
• CUBRID
• MS SQL Server
• Firebird
• IBM
• Informix
• MySQL
• MS SQL Server
• Oracle
• ODBC and DB2
• PostgreSQL
• SQLite
• 4D
CARA MENGAKTIFKAN PDO
EXTENSION
• PDO Extension telah aktif secara “default” pada PHP versi 5.1 keatas, tetapi tidak
semua database driver bisa digunakan. Dengan kata lain, untuk alasan performa,
me-nonaktifkan beberapa driver database seperti Oracle atau PostgreSQL di dalam
PDO.
• Untuk melihat driver database apa saja yang telah aktif dan bisa langsung digunakan
• mengaktifkan driver untuk database lainnya? Caranya adalah mengubah
setingan php.ini.
• Silahkan buka file php.ini dengan aplikasi text editor, kemudian search kata “pdo”.
• Hasil pencarian “pdo” akan tampil pada baris ke-1010.
• Untuk mengaktifkannya, silahkan hapus tanda titik koma (;) dari awal baris nama driver
yang ingin digunakan.
MEMBUAT KONEKSI PHP MYSQL DENGAN
PDO CONSTRUCTOR
• Argumen dari constructor PDO terdiri dari 3 bagian, bagian pertama berisi nama
database server (misalnya:mysql) kemudian diikuti dengan alamat server dan nama
database, semuanya di dalam 1 string. Untuk argumen kedua diisi dengan nama user,
dan argumen ketiga berisi password user.
CARA MENAMPILKAN PESAN KESALAHAN
(ERROR) PADA PDO
• Untuk menampilkan pesan kesalahan dengan exceptions pada PDO,
terdapat 3 pilihan metode. Ketiga metode 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 adalah pilihan default. Jika kita tidak mengubah setingan
error, pilihan inilah yang digunakan. Untuk mengecek error, kita bisa menggunakan
method PDO::errorCode() dan PDO::errorInfo().
• PDO::ERRMODE_WARNING digunakan untuk menampilkan error berupa warning
PHP, kemudian PHP akan melanjutkan proses eksekusi program. Pilihan ini cocok
untuk proses debugging.
• PDO::ERRMODE_EXCEPTION digunakan untuk menampilkan error dengan
exceptions. Pilihan inilah yang sering digunakan untuk menampilkan error dengan
TRY…CATCH.
PERBANDINGAN ANTARA MYSQLI, PDO
DAN MYSQL EXTENSION
KONEKSI PHP DENGAN MYSQL,
MYSQLI DAN PDO
KONEKSI
INDEX.PHP
INDEX.PHP
INDEX.PHP
CREATE.PHP
CREATE.PHP
EDIT.PHP
EDIT.PHP
EDIT.PHP
DELETE.PHP

More Related Content

What's hot

Data Management (Basis Data Berbasis Dokumen)
Data Management (Basis Data Berbasis Dokumen)Data Management (Basis Data Berbasis Dokumen)
Data Management (Basis Data Berbasis Dokumen)Adam Mukharil Bachtiar
 
Modul 05 Framework CodeIgniter.pdf
Modul 05 Framework CodeIgniter.pdfModul 05 Framework CodeIgniter.pdf
Modul 05 Framework CodeIgniter.pdfSetiya Nugroho
 
Pewarisan (inheritance) pada JAVA
Pewarisan (inheritance) pada JAVAPewarisan (inheritance) pada JAVA
Pewarisan (inheritance) pada JAVAdyko ananta
 
SQL database client server
SQL database client serverSQL database client server
SQL database client serverDesty Yani
 
Pembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlinePembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlineandiseprianto
 
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQLLaporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQLShofura Kamal
 
Analisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik KompilasiAnalisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik Kompilasiahmad haidaroh
 
Pemrograman Web 5 - Javascript
Pemrograman Web 5 - JavascriptPemrograman Web 5 - Javascript
Pemrograman Web 5 - JavascriptNur Fadli Utomo
 
M05 metode komputer forensik
M05  metode komputer forensikM05  metode komputer forensik
M05 metode komputer forensikHafiz312
 
basis data lanjut modul
 basis data lanjut modul basis data lanjut modul
basis data lanjut modulDenny Safardan
 
Laporan Praktikum Algoritma Pemrograman Modul VI-GUI
Laporan Praktikum Algoritma Pemrograman Modul VI-GUILaporan Praktikum Algoritma Pemrograman Modul VI-GUI
Laporan Praktikum Algoritma Pemrograman Modul VI-GUIShofura Kamal
 
Linked List dalam Struktur Data
Linked List dalam Struktur DataLinked List dalam Struktur Data
Linked List dalam Struktur DataFajar Sany
 
Kuliah 2a penelitian di bidang ilmu komputer
Kuliah 2a penelitian di bidang ilmu komputerKuliah 2a penelitian di bidang ilmu komputer
Kuliah 2a penelitian di bidang ilmu komputerNur Anita Okaya
 
MudafiqRiyan - MVC-DAO Java Desktop
MudafiqRiyan - MVC-DAO Java DesktopMudafiqRiyan - MVC-DAO Java Desktop
MudafiqRiyan - MVC-DAO Java DesktopMudafiq R. Pratama
 
Modul praktikum desain grafis
Modul praktikum desain grafisModul praktikum desain grafis
Modul praktikum desain grafisPuji Purnomo
 
7. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v2
7. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v27. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v2
7. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v2ArdianDwiPraba
 

What's hot (20)

Data Management (Basis Data Berbasis Dokumen)
Data Management (Basis Data Berbasis Dokumen)Data Management (Basis Data Berbasis Dokumen)
Data Management (Basis Data Berbasis Dokumen)
 
Modul 05 Framework CodeIgniter.pdf
Modul 05 Framework CodeIgniter.pdfModul 05 Framework CodeIgniter.pdf
Modul 05 Framework CodeIgniter.pdf
 
Pewarisan (inheritance) pada JAVA
Pewarisan (inheritance) pada JAVAPewarisan (inheritance) pada JAVA
Pewarisan (inheritance) pada JAVA
 
SQL database client server
SQL database client serverSQL database client server
SQL database client server
 
Pembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlinePembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja online
 
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQLLaporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
 
Analisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik KompilasiAnalisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik Kompilasi
 
Pemrograman Web 5 - Javascript
Pemrograman Web 5 - JavascriptPemrograman Web 5 - Javascript
Pemrograman Web 5 - Javascript
 
M05 metode komputer forensik
M05  metode komputer forensikM05  metode komputer forensik
M05 metode komputer forensik
 
basis data lanjut modul
 basis data lanjut modul basis data lanjut modul
basis data lanjut modul
 
Laporan Praktikum Algoritma Pemrograman Modul VI-GUI
Laporan Praktikum Algoritma Pemrograman Modul VI-GUILaporan Praktikum Algoritma Pemrograman Modul VI-GUI
Laporan Praktikum Algoritma Pemrograman Modul VI-GUI
 
JOIN
JOINJOIN
JOIN
 
1 modul 1
1 modul 11 modul 1
1 modul 1
 
Linked List dalam Struktur Data
Linked List dalam Struktur DataLinked List dalam Struktur Data
Linked List dalam Struktur Data
 
Kuliah 2a penelitian di bidang ilmu komputer
Kuliah 2a penelitian di bidang ilmu komputerKuliah 2a penelitian di bidang ilmu komputer
Kuliah 2a penelitian di bidang ilmu komputer
 
[PBO] Pertemuan 5 - Inheritance
[PBO] Pertemuan 5 - Inheritance[PBO] Pertemuan 5 - Inheritance
[PBO] Pertemuan 5 - Inheritance
 
MudafiqRiyan - MVC-DAO Java Desktop
MudafiqRiyan - MVC-DAO Java DesktopMudafiqRiyan - MVC-DAO Java Desktop
MudafiqRiyan - MVC-DAO Java Desktop
 
Struktur Data Tree
Struktur Data TreeStruktur Data Tree
Struktur Data Tree
 
Modul praktikum desain grafis
Modul praktikum desain grafisModul praktikum desain grafis
Modul praktikum desain grafis
 
7. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v2
7. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v27. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v2
7. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v2
 

Similar to PDO (php data object)

Laporan praktikum modul 5 (pemrogrman database dengan odbc)
Laporan praktikum modul 5 (pemrogrman database dengan odbc)Laporan praktikum modul 5 (pemrogrman database dengan odbc)
Laporan praktikum modul 5 (pemrogrman database dengan odbc)Devi Apriansyah
 
Tugas resume aplinet (edi,vani,risky)
Tugas resume aplinet (edi,vani,risky)Tugas resume aplinet (edi,vani,risky)
Tugas resume aplinet (edi,vani,risky)Koplak Koplakan
 
Workshop PHP: Laporan HTML, Excel, PDF
Workshop PHP: Laporan HTML, Excel, PDFWorkshop PHP: Laporan HTML, Excel, PDF
Workshop PHP: Laporan HTML, Excel, PDFAchmad Solichin
 
Basic Pemrograman.pptx
Basic Pemrograman.pptxBasic Pemrograman.pptx
Basic Pemrograman.pptxNandoApri2
 
Laporan Pemrograman API XML dengan PHP-MySQL (Lukie Perdanasari - 1110651187)
Laporan Pemrograman API XML dengan PHP-MySQL (Lukie Perdanasari - 1110651187)Laporan Pemrograman API XML dengan PHP-MySQL (Lukie Perdanasari - 1110651187)
Laporan Pemrograman API XML dengan PHP-MySQL (Lukie Perdanasari - 1110651187)QyeChildist Parth-ll
 
Webprograming
WebprogramingWebprograming
Webprogramingandreboys
 
Belajar php-dengan-framework-code-igniter
Belajar php-dengan-framework-code-igniterBelajar php-dengan-framework-code-igniter
Belajar php-dengan-framework-code-igniterGeorge Kartutu
 
Belajar php-dengan-framework-code-igniter
Belajar php-dengan-framework-code-igniterBelajar php-dengan-framework-code-igniter
Belajar php-dengan-framework-code-igniterMuhammad Rais
 
Php dgn framework code ignitier
Php dgn framework code ignitierPhp dgn framework code ignitier
Php dgn framework code ignitierAlbertz Ace-Red
 
Php dgn frame work code ignitier
Php dgn frame work code ignitierPhp dgn frame work code ignitier
Php dgn frame work code ignitierHaswi Haswi
 
Belajar php dengan framework code igniter3
Belajar php dengan framework code igniter3Belajar php dengan framework code igniter3
Belajar php dengan framework code igniter3iimpunya3
 
Belajar php-dengan-framework-code-igniter1
Belajar php-dengan-framework-code-igniter1Belajar php-dengan-framework-code-igniter1
Belajar php-dengan-framework-code-igniter1Al-dhimas Purnama
 
Tugas2 0317 [lingga eka pradipta]-[1411501073]
Tugas2 0317 [lingga eka pradipta]-[1411501073]Tugas2 0317 [lingga eka pradipta]-[1411501073]
Tugas2 0317 [lingga eka pradipta]-[1411501073]LinggaDipta
 
Belajar framework code igniter xii rpl
Belajar framework code igniter xii rplBelajar framework code igniter xii rpl
Belajar framework code igniter xii rplDenny Yahya
 

Similar to PDO (php data object) (20)

Laporan praktikum modul 5 (pemrogrman database dengan odbc)
Laporan praktikum modul 5 (pemrogrman database dengan odbc)Laporan praktikum modul 5 (pemrogrman database dengan odbc)
Laporan praktikum modul 5 (pemrogrman database dengan odbc)
 
Php kel23
Php kel23Php kel23
Php kel23
 
Tugas resume aplinet (edi,vani,risky)
Tugas resume aplinet (edi,vani,risky)Tugas resume aplinet (edi,vani,risky)
Tugas resume aplinet (edi,vani,risky)
 
Workshop PHP: Laporan HTML, Excel, PDF
Workshop PHP: Laporan HTML, Excel, PDFWorkshop PHP: Laporan HTML, Excel, PDF
Workshop PHP: Laporan HTML, Excel, PDF
 
Basic Pemrograman.pptx
Basic Pemrograman.pptxBasic Pemrograman.pptx
Basic Pemrograman.pptx
 
Laporan Pemrograman API XML dengan PHP-MySQL (Lukie Perdanasari - 1110651187)
Laporan Pemrograman API XML dengan PHP-MySQL (Lukie Perdanasari - 1110651187)Laporan Pemrograman API XML dengan PHP-MySQL (Lukie Perdanasari - 1110651187)
Laporan Pemrograman API XML dengan PHP-MySQL (Lukie Perdanasari - 1110651187)
 
W E B P R O G R A M M I N G
W E B  P R O G R A M M I N GW E B  P R O G R A M M I N G
W E B P R O G R A M M I N G
 
Webprograming
WebprogramingWebprograming
Webprograming
 
Web programming
Web programmingWeb programming
Web programming
 
PHP, MySQL, Apache
PHP, MySQL, ApachePHP, MySQL, Apache
PHP, MySQL, Apache
 
Belajar php-dengan-framework-code-igniter
Belajar php-dengan-framework-code-igniterBelajar php-dengan-framework-code-igniter
Belajar php-dengan-framework-code-igniter
 
Belajar php-dengan-framework-code-igniter
Belajar php-dengan-framework-code-igniterBelajar php-dengan-framework-code-igniter
Belajar php-dengan-framework-code-igniter
 
Php dgn framework code ignitier
Php dgn framework code ignitierPhp dgn framework code ignitier
Php dgn framework code ignitier
 
Php dgn frame work code ignitier
Php dgn frame work code ignitierPhp dgn frame work code ignitier
Php dgn frame work code ignitier
 
Belajar php dengan framework code igniter3
Belajar php dengan framework code igniter3Belajar php dengan framework code igniter3
Belajar php dengan framework code igniter3
 
Belajar php-dengan-framework-code-igniter1
Belajar php-dengan-framework-code-igniter1Belajar php-dengan-framework-code-igniter1
Belajar php-dengan-framework-code-igniter1
 
Tugas 4 - Rekayasa Web
Tugas 4 - Rekayasa WebTugas 4 - Rekayasa Web
Tugas 4 - Rekayasa Web
 
Tugas2 0317 [lingga eka pradipta]-[1411501073]
Tugas2 0317 [lingga eka pradipta]-[1411501073]Tugas2 0317 [lingga eka pradipta]-[1411501073]
Tugas2 0317 [lingga eka pradipta]-[1411501073]
 
Belajar framework code igniter xii rpl
Belajar framework code igniter xii rplBelajar framework code igniter xii rpl
Belajar framework code igniter xii rpl
 
Jenis Software Database
Jenis Software DatabaseJenis Software Database
Jenis Software Database
 

More from Rakhmi Khalida, M.M.S.I (20)

Pertemuan 1 Sistem Basis Data.pptx
Pertemuan 1 Sistem Basis Data.pptxPertemuan 1 Sistem Basis Data.pptx
Pertemuan 1 Sistem Basis Data.pptx
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
Transport layer
Transport layerTransport layer
Transport layer
 
Modul 5 2-ip-address
Modul 5 2-ip-addressModul 5 2-ip-address
Modul 5 2-ip-address
 
Modul 5 1 network layer
Modul 5 1 network layerModul 5 1 network layer
Modul 5 1 network layer
 
Modul 4 1 data link layer
Modul 4 1 data link layerModul 4 1 data link layer
Modul 4 1 data link layer
 
Video
VideoVideo
Video
 
Chapter-audio-dan-suara
Chapter-audio-dan-suaraChapter-audio-dan-suara
Chapter-audio-dan-suara
 
Diferensial dan terapan
Diferensial dan terapanDiferensial dan terapan
Diferensial dan terapan
 
pert - 3 Jaringan dasar
pert - 3 Jaringan dasarpert - 3 Jaringan dasar
pert - 3 Jaringan dasar
 
pert - 1 Jaringan dasar
pert - 1 Jaringan dasarpert - 1 Jaringan dasar
pert - 1 Jaringan dasar
 
Pert 1 - Rekayasa Komputasional
Pert 1 - Rekayasa KomputasionalPert 1 - Rekayasa Komputasional
Pert 1 - Rekayasa Komputasional
 
Sistem multimedia-teknik-informatika
Sistem multimedia-teknik-informatikaSistem multimedia-teknik-informatika
Sistem multimedia-teknik-informatika
 
10.kompresi citra
10.kompresi citra10.kompresi citra
10.kompresi citra
 
9.kompresi teks
9.kompresi teks9.kompresi teks
9.kompresi teks
 
8.animasi
8.animasi8.animasi
8.animasi
 
7.video
7.video7.video
7.video
 
6.suara
6.suara6.suara
6.suara
 
3.proses produksi konten multimedia
3.proses produksi konten multimedia3.proses produksi konten multimedia
3.proses produksi konten multimedia
 
2. konten multimedia
2. konten multimedia2. konten multimedia
2. konten multimedia
 

PDO (php data object)

  • 1. PDO (PHP DATA OBJECT) R A K H M I K H A L I D A
  • 2. PERKEMBANGAN KONEKSI PHP • PHP merupakan bahasa pemograman yang selalu di update dan berkembang mengikuti teknologi terbaru. Saat ini, Pemrograman Berorientasi Objek (Object Oriented Programming) merupakan trend pemrograman PHP, dan hal ini juga mempengaruhi cara mengakses database dari PHP. • PHP memiliki 3 cara pengaksesan MySQL, yakni melalui PDO (PHP Data Objects), mysqli extension dan mysql extension. PDO menggunakan pemrograman objek, mysqli extension tersedia dalam bentuk objek dan prosedural (diakses melalui fungsi- fungsi) sedangkan mysql extension sepenuhnya menggunakan pemograman prosedural
  • 3. KONEKSI MYSQL DENGAN MYSQL EXTENSION • Untuk mengakses MySQL dari PHP, kita menggunakan fungsi- fungsi seperti mysql_connect(), mysql_query(), dan mysql_fetch_array (). • Fungsi-fungsi ini tergabung ke dalam mysql extension
  • 4. KONEKSI MYSQL DENGAN MYSQLI EXTENSION • mysqli merupakan singkatan dari MySQL Improved. • Mysqli extension ini pada dasarnya adalah perbaikan dari mysql extension dan dikembangkan untuk mendukung fitur-fitur terbaru untuk MySQL 4.1 keatas. • Hampir semua fungsi yang ada pada mysql extension juga tersedia pada mysqli. Syntax (aturan mirip dengan mysql extension
  • 5. KONEKSI MYSQL DENGAN PDO (PHP DATA OBJECTS) • Untuk menggunakan PDO, kita harus mengaksesnya menggunakan object. PDO tidak menyediakan cara penulisan procedural style seperti mysqli atau mysql extension. • Familiar dengan istilah pemrograman object / konsep OOP seperti class, method, dan property, polymorphism, encapsulation, dan inheritance
  • 6. DEFINISI • PDO (PHP Data Objects) adalah interface universal yang disediakan PHP untuk “berkomunikasi” dengan database server. • Istilah “interface universal” 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 untuk database baru. • PDO bekerja dengan metode yang disebut “data-access abstraction layer”. Artinya, apapun jenis database server yang digunakan, kode PHP yang ditulis akan tetap • PDO menyediakan “abstraction layer” untuk berkomunikasi dengan database server.
  • 7. JENIS DATABASE SERVER YANG DIDUKUNG PDO • CUBRID • MS SQL Server • Firebird • IBM • Informix • MySQL • MS SQL Server • Oracle • ODBC and DB2 • PostgreSQL • SQLite • 4D
  • 8. CARA MENGAKTIFKAN PDO EXTENSION • PDO Extension telah aktif secara “default” pada PHP versi 5.1 keatas, tetapi tidak semua database driver bisa digunakan. Dengan kata lain, untuk alasan performa, me-nonaktifkan beberapa driver database seperti Oracle atau PostgreSQL di dalam PDO. • Untuk melihat driver database apa saja yang telah aktif dan bisa langsung digunakan • mengaktifkan driver untuk database lainnya? Caranya adalah mengubah setingan php.ini.
  • 9. • Silahkan buka file php.ini dengan aplikasi text editor, kemudian search kata “pdo”. • Hasil pencarian “pdo” akan tampil pada baris ke-1010. • Untuk mengaktifkannya, silahkan hapus tanda titik koma (;) dari awal baris nama driver yang ingin digunakan.
  • 10. MEMBUAT KONEKSI PHP MYSQL DENGAN PDO CONSTRUCTOR • Argumen dari constructor PDO terdiri dari 3 bagian, bagian pertama berisi nama database server (misalnya:mysql) kemudian diikuti dengan alamat server dan nama database, semuanya di dalam 1 string. Untuk argumen kedua diisi dengan nama user, dan argumen ketiga berisi password user.
  • 11. CARA MENAMPILKAN PESAN KESALAHAN (ERROR) PADA PDO • Untuk menampilkan pesan kesalahan dengan exceptions pada PDO, terdapat 3 pilihan metode. Ketiga metode 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 );
  • 12. • PDO::ERRMODE_SILENT adalah pilihan default. Jika kita tidak mengubah setingan error, pilihan inilah yang digunakan. Untuk mengecek error, kita bisa menggunakan method PDO::errorCode() dan PDO::errorInfo(). • PDO::ERRMODE_WARNING digunakan untuk menampilkan error berupa warning PHP, kemudian PHP akan melanjutkan proses eksekusi program. Pilihan ini cocok untuk proses debugging. • PDO::ERRMODE_EXCEPTION digunakan untuk menampilkan error dengan exceptions. Pilihan inilah yang sering digunakan untuk menampilkan error dengan TRY…CATCH.
  • 13. PERBANDINGAN ANTARA MYSQLI, PDO DAN MYSQL EXTENSION
  • 14. KONEKSI PHP DENGAN MYSQL, MYSQLI DAN PDO

Editor's Notes

  1. Extension di dalam PHP adalah istilah yang merujuk kepada kumpulan fungsi program tambahan yang membuat PHP dapat mendukung berbagai fitur baru.