Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengendalikan dan Menyembunyikan Ralat mysqli_connect dalam PHP dengan Anggun?

Bagaimanakah Saya Boleh Mengendalikan dan Menyembunyikan Ralat mysqli_connect dalam PHP dengan Anggun?

Patricia Arquette
Patricia Arquetteasal
2024-12-02 17:30:16862semak imbas

How Can I Handle and Hide mysqli_connect Errors in PHP Gracefully?

Pengendalian Ralat Tersuai dalam PHP Apabila mysqli_connect Gagal

Anda menghadapi mesej ralat semasa cuba menyambung ke pangkalan data menggunakan mysqli_connect. Semasa anda membuat sambungan dengan betul dengan bukti kelayakan yang sah, anda mencari kaedah untuk menyembunyikan mesej ralat daripada pengguna.

Menghapuskan Mesej Ralat

Bermula dengan PHP 8.1, mysqli membuang pengecualian dan bukannya meminta pengendalian ralat manual, menjadikannya tidak perlu untuk mengesan ralat secara manual melalui if (!$conn). Anda harus mengalih keluar kod lapuk ini.

Mengurus Ralat Pangkalan Data

Ralat pangkalan data dinaikkan secara automatik seperti mana-mana fungsi PHP yang lain. Jangan cuba menangkap atau mengendalikan ralat ini secara manual dalam kod anda. Sebaliknya, gunakan pilihan konfigurasi display_errors:

ini_set('display_errors', 0);

Tetapkan ini dalam php.ini atau kod PHP anda untuk menyekat semua mesej ralat.

Menyembunyikan Mesej Ralat daripada Pengguna

Untuk mengelakkan mesej ralat daripada sampai kepada pengguna, anda memerlukan halaman ralat mesra pengguna yang memaparkan mesej generik sebaliknya. Pertimbangkan untuk menggunakan pengendali ralat seperti:

set_exception_handler(function ($e) {
    error_log($e);
    http_response_code(500);
    echo ini_get('display_errors') ? $e : "500 Internal Server Error";
});

Pengendali ini merekodkan ralat dan memaparkan sama ada ralat khusus (semasa pembangunan) atau mesej generik (dalam pengeluaran). Ia menetapkan kod status HTTP 500, yang diperlukan untuk respons ralat pelayan.

Mengendalikan Ralat Sambungan

Jika anda perlu mengendalikan ralat sambungan secara khusus, gunakan percubaan. .catch block dengan kod pengendalian ralat tersuai. Walau bagaimanapun, pastikan ini berasingan daripada kod sambungan biasa anda.

Menyembunyikan Bukti Kelayakan Sambungan

PHP 8.2 dan ke atas menghalang kata laluan pangkalan data daripada muncul dalam surih tindanan ralat untuk keselamatan yang dipertingkatkan. Pastikan versi PHP anda adalah terkini.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengendalikan dan Menyembunyikan Ralat mysqli_connect dalam PHP dengan Anggun?. 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