Tutorial PHP MySQL Part 15: Cara Menampilkan Pesan Kesalahan (Error) mysqli Extension

Posted on

Sekiranya pada 2 panduan sebelumnya kita membahas mengenai cara menampilkan data MySQL menggunakan procedural style mysqli dan object style mysqli, pada panduan PHP MySQL kali ini kita akan mempelajari manfaat dan property yang dapat digunakan bagi menampilkan pesan kesalahan (error) di dalam mysqli.


Pesan kesalahan atau error yang dimaksud pada panduan kali ini yaitu pesan error dari MySQL yang dapat ditampilkan apabila terjadi kesalahan koneksi atau kesalahan penulisan query MySQL. Pesan error dari PHP kadang tak mencukupi, atau tak dapat ditampilkan seketika kepada pengguna.

Karena itu, kita perlu sebuah cara bagi mengetahui apa yang terjadi. Misalkan apakah MySQL Server telah berjalan, atau apakah kita salah menuliskan password user, database belum ada, salah penulisan query, dll. Pada panduan ini kita akan membahasnya dengan lebih pada.

Karena mysqli mempunyai 2 cara penulisan, yakni procedural style dan object style, saya akan membahas keduanya secara terpisah.


Cara Menampilkan Pesan Kesalahan (Error) Procedural Style mysqli

Bagi menampilkan pesan kesalahan pada procedural style mysqli, kita akan menggunakan fungsi-fungsi. Beberapa diantaranya yaitu manfaat mysqli_connect_errno(), mysqli_connect_ error (), mysqli_errno(), dan mysqli_error(). Agar gampang dimengerti, kita akan seketika membahasnya menggunakan contoh kode program.

Pertama-tama kali, saya akan mencoba merancang contoh kode program bagi menampilkan kesalahan di dikala proses koneksi dengan MySQL Server. Berikut yaitu kode program PHPnya:

Di kode program diatas, setelah proses koneksi dengan manfaat mysqli_connect(), saya memeriksa hasil koneksi dengan kondisi if(!$link). Guna mysqli_connect() akan mengembalikan link koneksi apabila koneksi ke MySQL sukses dilakukan. Tetapi apabila koneksi gagal, manfaat ini akan mengembalikan nilai FALSE. Nilai kembalian inilah yang dapat kita manfaatkan bagi memeriksa apakah koneksi berhasil atau gagal. Karena kondisi IF baru akan berjalan apabila kondisi bernilai TRUE, karenanya saya menambahkan tanda ! bagi membalik nilai FALSE menjadi TRUE. Kondisi if(!$link) baru akan dieksekusi ketika manfaat mysqli_connect() mengalami kegagalan.

Sekiranya kondisi if(!link) menjadi TRUE (terdapat error), karenanya manfaat die() akan menghentikan proses PHP yang sedang berjalan. Berikutnya, saya menampilkan pesan kesalahan menggunakan manfaat mysqli_connect_errno() dan mysqli_connect_ error(). Guna mysqli_connect_errno() akan menampilkan nomor kode error, sedangkan manfaat mysqli_connect_error() akan menampilkan pesan error.)

Selaku contoh, apabila saya sengaja mengubah username menjadi “teman_root” (yang memang tak ada di MySQL), karenanya kita dapat melihat error yang terjadi:

Atau apabila database saya ganti jadi “universitas_tetangga”:

Pesan error yang diraih ini berikutnya dapat dikirim ke user agar dapat memperbaiki kesalahan tersebut.

Apabila koneksi berhasil, manfaat mysqli_get_host_info() dapat digunakan bagi menampilkan keterangan mengenai jenis koneksi apa yang dikala ini diakses, apakah dari localhost atau domisili IP.

Sekiranya kita menggunakan manfaat mysqli_connect(‘localhost’, ‘root’, ”, ‘universitas’), karenanya hasil pemanggilan manfaat mysqli_get_host_info() yaitu:

Sekiranya saya mengubahnya menjadi mysqli_connect(‘127.0.0.1’, ‘root’, ”, ‘universitas’), hasilnya menjadi:

Berikutnya, bagaimana cara menampilkan pesan error yang terjadi di dikala query di jalankan? Kita dapat menggunakan manfaat mysqli_errno() dan mysqli_error(). Berikut yaitu contoh cara penggunaannya:

Pada kode program diatas saya mengerjakan pengecekan apakah query berjalan sukses atau tak dengan kondisi if (!$result). Sekiranya di pada query terdapat kesalahan, karenanya manfaat die() akan dijalankan. Sama seperti manfaat mysqli_connect(), manfaat mysqli_query() pun akan mengembalikan nilai FALSE apabila query gagal dijalankan.

Guna mysqli_errno() digunakan bagi menampilkan nomor kode error, dan manfaat mysqli_error() digunakan bagi menampilkan pesan error yang terjadi.

Selaku contoh, apabila saya mengganti query menjadi SELECT * FROM mahasiswa_mipa, karenanya hasilnya yaitu selaku berikut:

Dimana pada database universitas yang saya gunakan, memang tak terdapat tabel
mahasiswa_mipa. Pesan kesalahan ini amat bermanfaat terutama apabila kita merancang program dimana user dapat menginput query sendiri.

Pada 2 contoh kode program diatas, saya menampilkan pesan kesalahan menggunakan mysqli dengan procedural style. Bagaimana dengan object style mysqli? Mari kita lihat cara penulisannya.


Cara Menampilkan Pesan Kesalahan (Error) Object Style mysqli

Bagi menampilkan pesan kesalahan dengan menggunakan object style mysqli, kita tak lagi menggunakan manfaat, tetapi dengan memeriksa property error dari objek mysqli. Property yang digunakan bagi menampilkan pesan kesalahan ini mempunyai nama yang mirip dengan manfaat yang digunakan di procedural style mysqli.

Berikut yaitu contoh kode program bagi menampilkan kesalahan MySQL menggunakan mysqli dengan object style:

Perhatikan bahwa bagi mengecek apakah suatu koneksi dan proses query berhasil atau tak, kita dapat mengujinya dengan mengecek “isi” dari property $mysqli->connect_errno dan $mysqli->errno. Kedua property ini tak akan berisi apa-apa apabila tak ada kesalahan, dan baru akan berisi nilai apabila terdapat error di koneksi MySQL atau query MySQL.

Dengan kata lain, bagi memeriksa apakah di dikala koneksi MySQL terjadi kesalahan, kita dapat mengujinya dengan kondisi if ($mysqli->connect_errno). Sedangkan bagi mengecek query, dapat menggunakan if ($mysqli->errno).

Sahabat dapat menguji kode diatas dengan mengerjakan “kesalahan”, dan melihat apakah kode program diatas dapat menangkap error yang terjadi.

Cara penanganan error pada contoh object style mysqli diatas sebetulnya belum murni “objek”. Menggunakan kondisi IF dan manfaat die() bagi menangani kesalahan adalah “cara procedural style”. Di pada OOP, kita sebaiknya menggunakan kondisi TRY…CATCH bagi penanganan kesalahan (kita akan melihat contohnya dikala membahas mengenai PDO pada panduan mengenai PDO PHP).

Pada panduan ini saya tak menggunakannya agar contoh kita menjadi lebih sederhana.


Pada panduan belajar PHP MySQL kali ini kita telah membahas cara menangani dan menampilkan pesan kesalahan apabila terjadi error di dikala koneksi MySQL maupun di dikala query dijalankan. Pesan error ini akan bermanfaat apabila kita merancang program dimana user dapat menginput query sendiri. Sehingga apabila terjadi salah penulisan query, kita dapat menampilkan pesan yang sesuai.

Pada panduan PHP MySQL berikutnya kita akan membahas mengenai Pengertian dan Cara Penggunaan Prepared Statements di dalam mysqli.


Sumber https://www.duniailkom.com/