Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengendalikan Ralat `mysqli_query()` Dengan Lebih Selamat dan Berkesan Daripada Menggunakan `or die()`?
mysqli_query() dan Pengendalian Ralat
Apabila melaksanakan pertanyaan menggunakan fungsi mysqli_query(), sintaks or die() biasanya digunakan untuk menangani kesilapan. Walau bagaimanapun, pendekatan ini mempunyai beberapa kelemahan.
Kelemahan atau mati():
Alternatif kepada atau mati():
Kepada cegah isu ini, pertimbangkan alternatif berikut:
Pengecualian Pengendalian:
Konfigurasikan mysqli untuk membuang pengecualian pada ralat dengan menambahkan baris berikut pada kod sambungan anda:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
Dengan tetapan ini, anda boleh melaksanakan pertanyaan tanpa semakan ralat dan sebarang ralat akan dibuang sebagai pengecualian:
$result = mysqli_query($link, $sql);
Pengelogan Ralat Tersuai Fungsi:
Dalam contoh yang diberikan, anda ingin melog ralat ke jadual lain. Anda boleh mencipta fungsi tersuai untuk tujuan ini:
function log_mysqli_error($query, $error) { // Perform logging logic here }
Kemudian, gunakan fungsi ini dalam pelaksanaan pertanyaan anda:
$update_result = mysqli_query($link, $sql_update_login) or log_mysqli_error($sql_update_login, mysqli_error($link));
Dengan menggunakan alternatif ini, anda boleh mengendalikan ralat mysqli dengan lebih berkesan dan mengekalkan pangkalan kod yang lebih bersih dan selamat.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengendalikan Ralat `mysqli_query()` Dengan Lebih Selamat dan Berkesan Daripada Menggunakan `or die()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!