Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Pertanyaan PDO Saya Tidak Menunjukkan Mesej Ralat?
Rujukan PDO: Menyelesaikan Ralat Sambungan Pangkalan Data Biasa
Pengenalan
PDO (Objek Data PHP ) menawarkan interaksi pangkalan data yang mantap, tetapi pengguna sering menghadapi ralat disebabkan ciri khususnya. Artikel ini bertujuan untuk menangani salah satu isu yang paling lazim: ketidakupayaan untuk mendapatkan semula mesej ralat semasa pertanyaan PDO.
Kegagalan Pertanyaan Tanpa Mesej Ralat
Apabila pertanyaan PDO gagal, mesej ralat mungkin tidak kelihatan serta-merta. Untuk mendayakan keterlihatan ralat, anda mesti menetapkan mod ralat PDO kepada PDO::ERRMODE_EXCEPTION. Pengecualian memberikan jejak tindanan dan boleh dikendalikan menggunakan blok try..catch.
Contoh:
$dsn = "mysql:host=$host;dbname=$db;charset=utf8"; $opt = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, ]; $pdo = new PDO($dsn, $user, $pass, $opt);
Memaparkan Ralat
Selain itu, tetapan pelaporan ralat mesti dikonfigurasikan untuk memaparkan ralat. Untuk tapak langsung, dayakan pengelogan ralat, manakala untuk pembangunan tempatan, ralat boleh dipaparkan pada skrin:
Laman Langsung:
error_reporting(E_ALL); ini_set('display_errors', 0); ini_set('log_errors', 1);
Pembangunan Tempatan:
error_reporting(E_ALL); ini_set('display_errors', 1);
Elakkan Ralat Penindasan
Jangan sekali-kali menggunakan operator penindasan ralat (@) sebelum pernyataan PDO.
Mengelakkan percubaan yang tidak perlu..tangkap Blok
Pengecualian yang tidak ditangkap menyediakan maklumat ralat yang berharga tanpa memerlukan pengendalian ralat tersuai. Hanya gunakan try..catch apabila mengendalikan ralat, seperti melancarkan transaksi.
Atas ialah kandungan terperinci Mengapa Pertanyaan PDO Saya Tidak Menunjukkan Mesej Ralat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!