Setelah mempelajari cara membuat koneksi database MySQL dengan PDO, di panduan 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. Malah betul-betul mirip dengan mysqli. PHP pun menyediakan beragam cara bagi menampilkan hasil query MySQL dengan PDO.
Sama seperti mysql extension dan mysqli extension, bagi menjalankan dan menampilkan data dari MySQL dengan PDO, kita membutuhkan 3 langkah: bikin koneksi, jalankan query, dan tampilkan hasil.
Agar lebih gampang dimengerti, berikut yakni contoh kode program bagi menampilkan seluruh tabel mahasiswa_ilkom dengan menggunakan PDO:
1 |
<?php<br/>try {<br/> // bikin koneksi dengan database<br/> $dbh = new PDO('mysql:host=localhost;dbname=universitas', root, );<br/> <br/> // set error mode<br/> $dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );<br/> <br/> // jalankan query<br/> $result = $dbh->query('SELECT * FROM mahasiswa_ilkom');<br/> <br/> // tampilkan data<br/> while($row = $result->fetch()) {<br/> echo $row[0] $row[1] $row[2] $row[3] $row[4]; <br/> echo <br />;<br/> }<br/><br/> // hapus koneksi<br/> $dbh = null;<br/>}<br/>catch (PDOException $e) {<br/> // tampilkan pesan kesalahan seandainya koneksi gagal<br/> print Koneksi atau query bermasalah: . $e->getMessage() . <br/>;<br/> die();<br/>}<br/>?> |
Pada contoh diatas, saya menjalankan PDO di pada block TRY…CATCH agar dapat menampilkan pesan kesalahan (error). Berikutnya, saya merancang koneksi dengan MySQL Server dan menyimpan hasil koneksi ke pada variabel $dbh. Kita telah membahas mengenai hal ini pada panduan sebelumnya.
Kode program $dbh->setAttribute digunakan bagi men-set kode error yang diraih agar dapat “ditangkap” oleh block CATCH.
Bagi menjalankan query dengan PDO, kita dapat menggunakan method $dbh->query(). Method ini membutuhkan 1 argumen bertipe string, yakni query yang akan dijalankan. Pada contoh diatas, saya menggunakan query ‘SELECT * FROM mahasiswa_ilkom’ bagi menampilkan seluruh tabel mahasiswa_ilkom.
Method $dbh->query() akan mengembalikan nilai berupa objek baru yang digunakan bagi proses berikutnya. Object ini saya tampung ke pada variabel $result.
Kemudian, bagi menampilkan hasil query saya menggunakan method $result->fetch(). Method ini akan mengembalikan nilai berupa array yang dapat ditampilkan dengan perulangan while seperti lazimnya.
Apabila kamu menjalankan command tersebut, isi tabel mahasiswa_ilkom akan ditampilkan di web browser:
1 |
089023013 Alex Supriyanto 23 Surabaya 2.90<br/>089023020 Naira Alika 20 Padang 3.90<br/>089023023 Alika Shanum 21 Medan 3.80<br/>089023026 Rina Melita 22 Lampung 3.50<br/>089023031 Joni Halim 21 Palembang 3.60 |
Mengubah Cara Menampilkan Data PDO
Seandainya kamu perhatikan, pada contoh diatas kita mengakses hasil query menggunakan array dengan penomoran index. Selain dengan index array, PDO menyediakan berjenis-jenis cara bagi menampilkan data sesuai keperluan.
Bagi mengubah cara menampilkan data PDO, kita tinggal menambahkan 1 argumen ke pada method $result->fetch(). Misalkan bagi menampilkan hasil query menggunakan nama kolom selaku index array, kita dapat menggunakan PDO::FETCH_ASSOC selaku berikut:
1 |
<?php<br/> // kode program bagi koneksi dan menjalankan query<br/> // ...<br/> // ...<br/><br/> // tampilkan data<br/> while($row = $result->fetch(PDO::FETCH_ASSOC)) {<br/> echo $row['nim']. .$row['nama']. .$row['umur']. ; <br/> echo $row['tempat_lahir']. .$row['IPK']; <br/> echo <br />;<br/> }<br/>?> |
Dan seandainya ingin menampilkan dengan pengaksesan objek, dapat menggunakan PDO::FETCH_OBJ:
1 |
<?php<br/> // kode program bagi koneksi dan menjalankan query<br/> // ...<br/> // ...<br/><br/> // tampilkan data<br/> while($row = $result->fetch(PDO::FETCH_OBJ)) {<br/> echo $row->nim. .$row->nama. .$row->umur. ; <br/> echo $row->tempat_lahir. .$row->IPK; <br/> echo <br />;<br/> }<br/>?> |
Selain dengan settingan PDO::FETCH_ASSOC dan PDO::FETCH_OBJ, PDO PHP pun menyediakan beberapa alternatif lain:
- PDO::FETCH_BOTH: mengembalikan nilai berupa array yang dapat di tampilkan menggunakan index angka maupun index nama kolom. Ini yakni alternatif default seandainya method $result->fetch() ditulis tanpa argumen.
- PDO::FETCH_NUM: mengembalikan nilai berupa array yang dapat di tampilkan dengan index angka.
- PDO::FETCH_CLASS: mengembalikan nilai ke pada class yang telah disediakan.
- PDO::FETCH_LAZY: mengkombinasikan PDO::FETCH_BOTH dan PDO::FETCH_OBJ, sehingga dapat dipanggil dengan array maupun objek.
Pada panduan belajar PHP MySQL kali ini, kita telah membahas mengenai cara menampilkan data query MySQL menggunakan PDO. Pada panduan berikutnya kita akan membahas cara menginput data ke MySQL menggunakan PDO PHP.
Sumber https://www.duniailkom.com/