Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Pertanyaan MySQLi Saya Tidak Membuang Pengecualian, dan Bagaimana Saya Boleh Membetulkannya?

Mengapa Pertanyaan MySQLi Saya Tidak Membuang Pengecualian, dan Bagaimana Saya Boleh Membetulkannya?

Patricia Arquette
Lepaskan: 2025-01-03 19:12:39
asal
727 orang telah melayarinya

Why Aren't My MySQLi Queries Throwing Exceptions, and How Can I Fix It?

Meningkatkan Pengendalian Ralat dengan Pengecualian MySQLi

Dalam percubaan untuk memudahkan pengendalian ralat, anda menghadapi kesukaran untuk menukar ralat pertanyaan MySQLi kepada pengecualian .

Masalah Penerangan:

Walaupun menggunakan mysqli_report(MYSQLI_REPORT_STRICT) bersama-sama dengan fungsi MySQLi prosedur dalam kelas pembalut tersuai, kegagalan pertanyaan masih menyebabkan amaran mahupun pengecualian tidak dibangkitkan, memerlukan semakan nilai pulangan manual untuk mysqli_query().

Jawapan:

Untuk menyelesaikan isu ini dan memaksa MySQLi membuang pengecualian, gunakan baris berikut:

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
Salin selepas log masuk

Penjelasan:

gelagat lalai mysqli_report() adalah untuk melaporkan kedua-dua amaran dan kesilapan. Walau bagaimanapun, dengan menetapkan bendera MYSQLI_REPORT_ERROR, MySQLi diarahkan untuk melaporkan ralat sahaja, yang sejajar dengan gelagat pengecualian melontar yang diingini.

Nota Penting:

Elakkan membungkus setiap pertanyaan dalam blok cuba-tangkap, kerana ia dianggap sebagai amalan terbaik untuk menggunakan pengendali ralat seluruh tapak untuk mengurus sebahagian besar ralat dan bukannya mengendalikannya di lokasi tertentu.

Atas ialah kandungan terperinci Mengapa Pertanyaan MySQLi Saya Tidak Membuang Pengecualian, dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan