Rumah > Artikel > pangkalan data > Bolehkah PDO Digunakan untuk Menguji Kesahan Sambungan Pangkalan Data?
Ujian Sambungan PDO
Pertanyaan:
Bolehkah PDO digunakan untuk menguji sah dan tidak sah sambungan pangkalan data? Berikut ialah coretan kod yang mencuba sambungan:
try{ $dbh = new pdo('mysql:host=127.0.0.1:3308;dbname=axpdb','admin','1234'); die(json_encode(array('outcome' => true))); }catch(PDOException $ex){ die(json_encode(array( 'outcome' => false, 'message' => 'Unable to connect' ))); }
Walau bagaimanapun, skrip terus mencuba sambungan sehingga had masa pelaksanaan (60 saat) dicapai, bukannya menunjukkan kegagalan sambungan.
Jawapan:
Untuk mewujudkan sambungan pangkalan data yang betul dengan PDO, anda perlu menentukan mod ralat semasa proses sambungan:
try{ $dbh = new pdo( 'mysql:host=127.0.0.1:3308;dbname=axpdb', 'admin', '1234', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); die(json_encode(array('outcome' => true))); } catch(PDOException $ex){ die(json_encode(array('outcome' => false, 'message' => 'Unable to connect'))); }
Dengan menetapkan mod ralat kepada "exception" (PDO::ERRMODE_EXCEPTION), sebarang ralat sambungan akan dinaikkan sebagai pengecualian. Ini membolehkan anda menangkap pengecualian ini dan mengendalikannya dengan anggun, memberikan mesej ralat yang lebih bermaklumat daripada hanya menunggu tamat masa.
Untuk mendapatkan maklumat lanjut tentang topik ini, rujuk pautan yang disediakan:
Atas ialah kandungan terperinci Bolehkah PDO Digunakan untuk Menguji Kesahan Sambungan Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!