Bolehkah PDO Digunakan untuk Menguji Kesahan Sambungan Pangkalan Data?

Susan Sarandon
Lepaskan: 2024-11-17 22:02:02
asal
467 orang telah melayarinya

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

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

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!

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