Maison >base de données >tutoriel mysql >PDO peut-il être utilisé pour tester la validité de la connexion à la base de données ?

PDO peut-il être utilisé pour tester la validité de la connexion à la base de données ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-17 22:02:02537parcourir

Can PDO be Used to Test Database Connection Validity?

Test de connexion PDO

Requête :

Le PDO peut-il être utilisé pour tester des éléments valides et invalides connexions à la base de données ? Voici un extrait de code qui tente la connexion :

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'
            )));
        }

Cependant, le script continue de tenter la connexion jusqu'à ce que le délai d'exécution (60 secondes) soit atteint, au lieu d'indiquer un échec de connexion.

Réponse :

Pour établir une connexion appropriée à la base de données avec PDO, vous devez spécifier le mode d'erreur lors de la connexion process :

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')));
}

En définissant le mode d'erreur sur "exception" (PDO::ERRMODE_EXCEPTION), toute erreur de connexion sera générée comme exception. Cela vous permet d'intercepter ces exceptions et de les gérer avec élégance, en fournissant un message d'erreur plus informatif que la simple attente du délai d'attente.

Pour plus d'informations sur ces sujets, reportez-vous aux liens fournis :

  • Utilisation de MySQL avec PDO : https://www.php.net/manual/en/book.pdo.php
  • Erreurs et gestion des erreurs : https://www.php.net/manual/en/pdo.error-handling.php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn