Tutorial PHP MySQL Part 21: Cara Menampilkan data MySQL menggunakan PDO PHP

Setelah mempelajari cara membuat koneksi database MySQL dengan PDO, pada tutorial belajar PHP MySQL kali ini kita akan membahas cara menampilkan data MySQL menggunakan PDO (PHP Data Object).


Cara Menampilkan Data MySQL dengan PDO

Walaupun terkesan "rumit", menjalankan query dan menampilkan hasilnya menggunakan PDO PHP tidaklah sulit. Bahkan sangat mirip dengan mysqli. PHP juga menyediakan beragam cara untuk menampilkan hasil query MySQL dengan PDO.

Sama seperti mysql extension dan mysqli extension, untuk menjalankan dan menampilkan data dari MySQL dengan PDO, kita membutuhkan 3 langkah: buat koneksi, jalankan query, dan tampilkan hasil.

Agar lebih mudah dipahami, berikut adalah contoh kode program untuk menampilkan seluruh tabel mahasiswa_ilkom dengan menggunakan PDO:

<?php
try {
   // buat koneksi dengan database
   $dbh = new PDO('mysql:host=localhost;dbname=universitas', "root", "");
 
   // set error mode
   $dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
 
   // jalankan query
   $result = $dbh->query('SELECT * FROM mahasiswa_ilkom');
 
   // tampilkan data
   while($row = $result->fetch()) {
     echo "$row[0] $row[1] $row[2] $row[3] $row[4]";    
     echo "<br />";
   }

   // hapus koneksi
   $dbh = null;
}
catch (PDOException $e) {
   // tampilkan pesan kesalahan jika koneksi gagal
   print "Koneksi atau query bermasalah: " . $e->getMessage() . "<br/>";
   die();
}
?>

Dalam contoh diatas, saya menjalankan PDO di dalam block TRY…CATCH agar bisa menampilkan pesan kesalahan (error). Selanjutnya, saya membuat koneksi dengan MySQL Server dan menyimpan hasil koneksi ke dalam variabel $dbh. Kita telah membahas tentang hal ini dalam tutorial sebelumnya.

Kode program $dbh->setAttribute digunakan untuk men-set kode error yang dihasilkan agar bisa "ditangkap" oleh block CATCH.

Untuk menjalankan query dengan PDO, kita bisa menggunakan method $dbh->query(). Method ini membutuhkan 1 argumen bertipe string, yakni query yang akan dijalankan. Dalam contoh diatas, saya menggunakan query 'SELECT * FROM mahasiswa_ilkom' untuk menampilkan seluruh tabel mahasiswa_ilkom.

Method $dbh->query() akan mengembalikan nilai berupa objek baru yang digunakan untuk proses berikutnya. Object ini saya tampung ke dalam variabel $result.

Kemudian, untuk menampilkan hasil query saya menggunakan method $result->fetch(). Method ini akan mengembalikan nilai berupa array yang bisa ditampilkan dengan perulangan while seperti biasa.

Apabila anda menjalankan perintah tersebut, isi tabel mahasiswa_ilkom akan ditampilkan di web browser:

089023013 Alex Supriyanto 23 Surabaya 2.90
089023020 Naira Alika 20 Padang 3.90
089023023 Alika Shanum 21 Medan 3.80
089023026 Rina Melita 22 Lampung 3.50
089023031 Joni Halim 21 Palembang 3.60

Mengubah Cara Menampilkan Data PDO

Jika anda perhatikan, dalam contoh diatas kita mengakses hasil query menggunakan array dengan penomoran index. Selain dengan index array, PDO menyediakan berbagai cara untuk menampilkan data sesuai kebutuhan.

Untuk mengubah cara menampilkan data PDO, kita tinggal menambahkan 1 argumen ke dalam method $result->fetch(). Misalkan untuk menampilkan hasil query menggunakan nama kolom sebagai index array, kita bisa menggunakan PDO::FETCH_ASSOC sebagai berikut:

<?php
   // kode program untuk koneksi dan menjalankan query
   // ...
   // ...

   // tampilkan data
   while($row = $result->fetch(PDO::FETCH_ASSOC)) {
     echo $row['nim']." ".$row['nama']." ".$row['umur']." ";  
     echo $row['tempat_lahir']." ".$row['IPK'];  
     echo "<br />";
   }
?>

Dan jika ingin menampilkan dengan pengaksesan objek, bisa menggunakan PDO::FETCH_OBJ:

<?php
   // kode program untuk koneksi dan menjalankan query
   // ...
   // ...

   // tampilkan data
   while($row = $result->fetch(PDO::FETCH_OBJ)) {
     echo $row->nim." ".$row->nama." ".$row->umur." ";  
     echo $row->tempat_lahir." ".$row->IPK;  
     echo "<br />";
   }
?>

Selain dengan settingan PDO::FETCH_ASSOC dan PDO::FETCH_OBJ, PDO PHP juga menyediakan beberapa pilihan lain:

  • PDO::FETCH_BOTH: mengembalikan nilai berupa array yang bisa di tampilkan menggunakan index angka maupun index nama kolom. Ini adalah pilihan default jika method $result->fetch() ditulis tanpa argumen.
  • PDO::FETCH_NUM: mengembalikan nilai berupa array yang bisa di tampilkan dengan index angka.
  • PDO::FETCH_CLASS: mengembalikan nilai ke dalam class yang telah disiapkan.
  • PDO::FETCH_LAZY: mengkombinasikan PDO::FETCH_BOTH dan PDO::FETCH_OBJ, sehingga bisa dipanggil dengan array maupun objek.

Dalam tutorial belajar PHP MySQL kali ini, kita telah membahas tentang cara menampilkan data query MySQL menggunakan PDO. Dalam tutorial berikutnya kita akan membahas cara menginput data ke MySQL menggunakan PDO PHP.

31 Comments

  1. Rian
    05 Mar 15
    • Andre
      06 Mar 15
  2. Willy
    10 Aug 15
    • Andre
      10 Aug 15
      • Willy
        11 Aug 15
      • Andre
        11 Aug 15
        • Willy
          12 Aug 15
  3. Muhammad
    10 Aug 15
    • Andre
      11 Aug 15
  4. Paul PS
    17 Mar 16
    • Andre
      18 Mar 16
      • Paul PS
        18 Mar 16
        • Andre
          20 Mar 16
  5. Yas
    13 Jul 16
    • Andre
      15 Jul 16
  6. Mastenk
    15 Jul 16
  7. pedoelski
    22 Oct 16
    • Andre
      23 Oct 16
  8. Boedy
    26 Nov 16
  9. Faidatur rizqi
    26 Apr 17
    • Andre
      26 Apr 17
  10. razer354
    06 Jun 17
    • Andre
      10 Jun 17
  11. Andri savana
    23 Aug 17
    • Andre
      25 Aug 17
  12. guston
    18 Feb 18
  13. bambang
    07 Aug 18
    • Andre
      07 Aug 18
  14. faisal
    15 Jan 19
    • Andre
      16 Jan 19
  15. Wynmi
    29 Nov 21

Add Comment