Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Memaparkan Mesej Ralat MySQL Terperinci daripada Pertanyaan Input Pengguna PHP?

Bagaimanakah Saya Boleh Memaparkan Mesej Ralat MySQL Terperinci daripada Pertanyaan Input Pengguna PHP?

Patricia Arquette
Patricia Arquetteasal
2024-12-01 06:31:13496semak imbas

How Can I Display Detailed MySQL Error Messages from PHP User Input Queries?

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:

  • mysqli_errno mengembalikan kod ralat yang dikaitkan dengan ralat MySQL terakhir.
  • Berikut adalah beberapa pautan berguna untuk rujukan selanjutnya:

    • [Manual PHP: mysqli_error](https://www.php.net/manual/en/function.mysqli-error.php)
    • [Manual PHP: mysqli_errno](https://www.php.net/manual/ en/function.mysqli-errno.php)

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn