Apakah harus mati
Sebaliknya, seharusnya tidak or die()
pernah.
PHP adalah bahasa keturunan yang buruk. Keturunan yang sangat buruk. Dan or die()
dengan pesan kesalahan sebagai salah satu dasar terburuk:
- die mengeluarkan pesan kesalahan, mengungkapkan beberapa internal sistem kepada calon penyerang
- ini membingungkan pengguna yang tidak bersalah dengan pesan aneh dan membuat mereka tidak memiliki antarmuka untuk digunakan, sehingga kemungkinan besar mereka akan keluar begitu saja.
- mematikan skrip di tengah, sehingga dapat menyebabkan desain robek (atau tidak ada desain sama sekali) yang ditampilkan (yaitu, render halaman yang diminta pengguna tidak lengkap)
- membunuh skrip secara permanen. Sementara pengecualian yang dilemparkan dapat ditangkap dan ditangani dengan anggun
die()
tidak memberi Anda petunjuk tentang tempat terjadinya kesalahan . Dan dalam aplikasi yang relatif besar akan cukup sulit untuk menemukannya.
Jadi, jangan pernah gunakan die()
dengan kesalahan MySQL, bahkan untuk debugging sementara :ada cara yang lebih baik.
Alih-alih memeriksa kesalahan secara manual, cukup konfigurasikan mysqli untuk memberikan pengecualian pada kesalahan, dengan menambahkan baris berikut ke kode koneksi Anda
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
dan setelah itu tulis saja setiap perintah mysqli apa adanya, tanpa or die
atau yang lainnya:
$result = mysqli_query($link, $sql);
Kode ini akan mengeluarkan pengecualian jika terjadi kesalahan dan dengan demikian Anda akan selalu diberitahu tentang setiap masalah tanpa satu baris kode tambahan.
Penjelasan lebih rinci tentang cara membuat produksi pelaporan kesalahan Anda siap, seragam, dan secara keseluruhan masuk akal sekaligus membuat kode Anda lebih bersih, Anda dapat menemukannya di artikel saya di Pelaporan kesalahan PHP .