Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Mengeluarkan Maklumat Ralat PDO dengan Berkesan daripada Interaksi Pangkalan Data PHP?

Bagaimanakah Saya Boleh Mengeluarkan Maklumat Ralat PDO dengan Berkesan daripada Interaksi Pangkalan Data PHP?

Mary-Kate Olsen
Lepaskan: 2024-12-27 15:59:10
asal
551 orang telah melayarinya

How Can I Effectively Extract PDO Error Information from PHP's Database Interactions?

Pengeluaran Ralat PDO: Panduan Komprehensif

PDO, kelas PHP yang berkuasa, menawarkan interaksi pangkalan data yang cekap. Walau bagaimanapun, mengekstrak maklumat ralat daripada PDO kadangkala boleh mencabar. Mari kita mendalami isu dan penyelesaiannya.

Masalahnya:

Walaupun menetapkan ATTR_ERRMODE kepada ERRMODE_WARNING, PDO tetap senyap apabila pertanyaan tidak sah (@$%T$! !!) disediakan. Pernyataan print_r() mahupun errorInfo() tidak memberikan sebarang maklum balas.

Penyelesaian:

setAttribute menetapkan tingkah laku ralat semasa pelaksanaan pertanyaan, bukan penyediaan. Untuk kenyataan yang disediakan yang dicontohi, penyediaan tidak melibatkan komunikasi pelayan, jadi ralat tidak dikesan sehingga pelaksanaan. Walau bagaimanapun, pemacu MySQL menyokong pernyataan yang disediakan asli, yang sepatutnya mencetuskan ralat semasa penyediaan.

Untuk memastikan pengendalian ralat, gunakan kod berikut:

$dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
Salin selepas log masuk

Menggunakan ERRMODE_EXCEPTION memaksa PDO membuang pengecualian untuk pertanyaan tidak sah. Pengecualian ini akan mengandungi mesej ralat yang anda perlukan.

Nota Tambahan:

  • Untuk pernyataan yang disediakan asli, PDO akan mengesan ralat semasa penyediaan.
  • Tetapan ERRMODE_WARNING hanya menjana amaran, yang mungkin tidak dipaparkan dengan jelas. Pengecualian diutamakan untuk pengendalian ralat yang mantap.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Maklumat Ralat PDO dengan Berkesan daripada Interaksi Pangkalan Data PHP?. 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