Rumah >pangkalan data >tutorial mysql >Bolehkah PDO Digunakan untuk Menguji Kesahan Sambungan Pangkalan Data?

Bolehkah PDO Digunakan untuk Menguji Kesahan Sambungan Pangkalan Data?

Susan Sarandon
Susan Sarandonasal
2024-11-17 22:02:02536semak imbas

Can PDO be Used to Test Database Connection Validity?

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:

  • Menggunakan MySQL dengan PDO: https://www.php.net/manual/en/book.pdo.php
  • Ralat dan pengendalian ralat: https://www.php.net/manual/ my/pdo.error-handling.php

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!

Kenyataan:
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