Menampilkan pesan error di php

Kedua fungsi yang akan kita bahas dalam tutorial kali ini berkaitan dengan cara penanganan kesalahan dari MySQL. Ketika sebuah query dijalankan, pesan error yang dihasilkan oleh MySQL tidak langsung ditampilkan PHP. Untuk menampilkan pesan kesalahan dari MySQL, kita harus memanggilnya menggunakan fungsi mysql_errno() dan mysql_error().


Cara Menampilkan Pesan Error MySQL dalam PHP

Agar lebih informatif, ketika query tidak berjalan dengan semestinya, PHP menyediakan 2 buah fungsi untuk menampilkan pesan error dari MySQL, yaitu fungsi mysql_errno() dan mysql_error(). Kedua fungsi ini membutuhkan 1 buah argumen yang bersifat opsional, yakni variabel hasil pemanggilan fungsi mysql_connect(). Tetapi, jika argumen tidak ditulis, PHP akan menggunakan koneksi MySQL terakhir yang tersedia.

Fungsi mysql_errno() akan menampilkan nomor atau kode error MySQL, sedangkan fungsi mysql_error() akan menampilkan penjelasan error tersebut.


Contoh Penggunaan Fungsi mysql_errno dan mysql_error

Sebagai contoh penggunaan kedua fungsi tersebut, silahkan jalankan kode program berikut ini:

<?php
//buat koneksi dengan MySQL
$link=mysql_connect('localhost','root','');
 
//jika koneksi gagal, langsung keluar dari PHP
if (!$link)
{
  die("Koneksi dengan MySQL gagal");
}
 
//jalankan query
$query="DROP DATABASE tidak_ada";
$result=mysql_query($query,$link);
echo "Query yang dijalankan: $query";
echo "<br />";
echo "Kode error: ".mysql_errno($link);
echo "<br />";
echo "Pesan error: ".mysql_error();
?>

Menampilkan pesan error di php
Pada kode diatas, saya mencoba menjalankan perintah untuk menghapus database ‘tidak_ada’ yang memang tidak tersedia di dalam MySQL. Jika kita menjalankan query tersebut tanpa bantuan fungsi mysql_errno() dan mysql_error(), maka kita tidak tahu apa pesan error dari MySQL.

Perhatikan juga bahwa pada pemanggilan fungsi mysql_error() pada baris terakhir, saya tidak memberikan argumen, karena sifatnya yang opsional.


Fungsi mysql_errno() dan mysql_error() yang kita bahas disini sangat berguna di dalam proses pembuatan program, karena kita bisa mengetahui kenapa hasil dari MySQL tidak sesuai dengan apa yang kita inginkan.

Masih berkaitan dengan pemeriksaan hasil query, di dalam tutorial belajar PHP MySQL selanjutnya kita akan membahas tentang Cara Menampilkan Jumlah Baris Tabel MySQL menggunakan fungsi mysql_num_rows().

Secara default, sistem indoglobal.com menggunakan konfigurasi 'production' (seperti pada file php.ini-production di source code PHP). Ini sesuai dengan rekomendasi PHP untuk web site yang diakses oleh umum.

Konfigurasi ini lebih aman karena pesan error PHP tidak akan dimunculkan ke browser pengunjung. Biasanya pesan error PHP mengandung informasi sensitif seperti direktori, nama database atau bahkan password. Dengan menggunakan konfigurasi 'production', pesan kesalahan ini tidak akan muncul di browser pengunjung.

Untuk melihat pesan kesalahan, pengguna bisa melihatnya melalui fitur Real Time Log.

Mengaktifkan Pesan Error ke Browser (tidak dianjurkan)

Kami tidak menganjurkan untuk mengaktifkan pesan error ke browser dengan alasan keamanan. Tetapi bagi anda yang membutuhkannya, berikut adalah caranya.

Sunting Konfigurasi PHP untuk versi PHP yang anda gunakan, dan gantilah beberapa perintah dengan perintah seperti berikut ini:

Ada banyak sekali hal yang menyebabkan error pada PHP. Tentunya selalu mengacu kepada kode yang memiliki kesalahan tertentu, baik itu Fatal error, atau yang lainnya. Disini akan Saya bagikan cara mudah menampilkan teks error di PHP. Beberapa orang mungkin ingin menampilkan kesalahan dari kode saat mencoba sesuatu dalam mode debugging, Kadang sebagian hosting tidak menampilkan error dari kode dan hanya dapat dilihat dari logs panel saja, tapi yang akan Saya bagikan kali ini, dapat dilihat langsung dalam bentuk teks.

Bentuk yang terdapat pada error bermacam macam, contohnya seperti fatal error, User autentikasi error, error pada sistem fungsi, dan lain-lain. Semuanya memiliki berbeda level dan dapat ditampilkan menjadi satu yakni menggunakan E_ALL. Berikut ini contoh pemanggilan dari salah satu file penting. Dapat melalui file PHP langsung, php.ini, atau dari .htacceess. Silahkan lihat dibawah ini.!

file.php

ini_set('display_errors', 1);
//Atau
error_reporting(E_ALL && ~E_NOTICE);

php.ini

display_errors = On
error_reporting = E_ALL & ~E_NOTICE

.htaccess

php_value display_errors 1

Kamu dapat menggunakan salah satu dari ketiga diatas, dan khusus php.ini, file ini jarang bisa digunakan langsung dari ROOT web, karena di beberapa Operasi Sistem, file tersebut bisa ada di folder /etc/ atau /etc/php5/apache2/. dan hanya dapat diedit dengan bantuan SSH shell akses. Untuk .htaccess dan PHP pasti sudah tau cara menggunakannya. Beberapa hosting mungkin men-disable format pemanggilan php value error di .htaccess, dan menurut Saya memang lebih baik memakai langsung fungsi dari PHP asli yaitu error_reporting().

Seperti yang Saya katakan diatas, ada bermacam-macam level error, dan kamu dapat menampilkan itu semua atau dapat memilih sesuatu error yang penting. Semua level dapat dilihat DISINI.