Memaparkan Ralat MySQL Terperinci untuk Pertanyaan Input Pengguna dalam PHP
Apabila melaksanakan pertanyaan MySQL yang bergantung pada input pengguna, ia boleh menjadi sukar untuk dikenal pasti punca kegagalan pertanyaan. Mesej ralat lalai "Query Failed" menyediakan sedikit maklumat untuk menyelesaikan masalah. Artikel ini meneroka kaedah untuk memaparkan mesej ralat khusus yang dikaitkan dengan kegagalan pertanyaan dalam PHP.
Memahami Kegagalan Pertanyaan
Kod sampel yang disediakan menunjukkan pertanyaan yang membina klausa WHERE secara dinamik berdasarkan pembolehubah input pengguna. Apabila pertanyaan gagal, mesej ralat hanyalah "Query Failed." Untuk mendapatkan ralat sebenar, kita perlu mengakses mesej ralat MySQL yang mendasari.
Menggunakan Fungsi mysqli_error
Fungsi mysqli_error PHP mendapatkan semula mesej ralat terakhir yang dihasilkan oleh MySQL pangkalan data. Dengan menyepadukan fungsi ini ke dalam kod kami, kami boleh memaparkan mesej ralat tertentu. Begini cara untuk melaksanakannya:
mysqli_query($this->db_link, $query) or die(mysqli_error($this->db_link));
Contoh:
Dalam kod sampel yang disediakan, tambahkan baris di atas selepas $r = mysqli_query($this-> db_link, $query);:
$r = mysqli_query($this->db_link, $query); if ($r == false) printf("error: %s\n", mysqli_errno($this->db_link));
Pengubahsuaian ini akan mencetak mesej ralat yang dikaitkan dengan kegagalan pertanyaan.
Nota Tambahan:
Berikut adalah beberapa pautan berguna untuk rujukan selanjutnya:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memaparkan Mesej Ralat MySQL Terperinci daripada Pertanyaan Input Pengguna PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!