Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Pertanyaan PDO Saya Tidak Menunjukkan Mesej Ralat?

Mengapa Pertanyaan PDO Saya Tidak Menunjukkan Mesej Ralat?

Linda Hamilton
Lepaskan: 2024-12-26 04:54:15
asal
319 orang telah melayarinya

Why Aren't My PDO Queries Showing Error Messages?

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);
Salin selepas log masuk

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);
Salin selepas log masuk

Pembangunan Tempatan:

error_reporting(E_ALL);
ini_set('display_errors', 1);
Salin selepas log masuk

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!

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