Position actuelle: Accueil> Derniers articles> Comment déterminer s'il y a une erreur dans la connexion MySQLI? Utilisez $ errno pour détecter

Comment déterminer s'il y a une erreur dans la connexion MySQLI? Utilisez $ errno pour détecter

M66 2025-05-17

Lorsque vous utilisez PHP pour manipuler les bases de données MySQL, nous utilisons souvent l'extension MySQLI pour se connecter à la base de données. Cependant, pendant le processus de développement réel, les erreurs de connexion de la base de données se produisent fréquemment. Afin de nous faciliter de détecter si la connexion est réussie, nous pouvons obtenir le code d'erreur via mysqli :: $ errno pour déterminer s'il y a un problème avec la connexion de la base de données. Cet article mettra en place comment juger si une connexion mysqli est erronée via mysqli :: $ errno , et comment le traiter en fonction du code d'erreur.

1. Utilisez mysqli :: $ errno pour vérifier si la connexion de la base de données est réussie

Lors de la connexion à une base de données à l'aide de l'extension MySQLI, nous nous connectons généralement via le code suivant:

 $host = 'localhost';
$username = 'root';
$password = '';
$dbname = 'test_db';

$connection = new mysqli($host, $username, $password, $dbname);

Cependant, la connexion peut échouer pour diverses raisons, telles que le service de base de données qui n'est pas démarré, le nom d' utilisateur et le mot de passe sont incorrects, etc.

2. Le rôle de mysqli :: $ errno

MySQLI :: $ Errno est une propriété de la classe MySQLI qui est utilisée pour stocker le code d'erreur pour la dernière opération de base de données. Si la connexion réussit, MySQLI :: $ Errno sera 0 . Si une erreur se produit, la valeur sera un code d'erreur non nulle, représentant un type d'erreur différent. En jugeant la valeur de cette propriété, nous pouvons confirmer si la connexion de la base de données est réussie.

3. Exemple de code

Ce qui suit est un exemple de code qui montre comment utiliser mysqli :: $ errno pour déterminer si la connexion de la base de données est réussie et les informations d'erreur liées à la sortie:

 $host = 'localhost';
$username = 'root';
$password = '';
$dbname = 'test_db';

// Créer une connexion de base de données
$connection = new mysqli($host, $username, $password, $dbname);

// Vérifiez si la connexion réussit
if ($connection->connect_errno) {
    echo "Échec de la connexion à la base de données,Code d&#39;erreur:" . $connection->connect_errno . "<br>";
    echo "message d&#39;erreur:" . $connection->connect_error;
} else {
    echo "La connexion de la base de données est réussie!";
}

Dans le code ci-dessus, nous avons utilisé $ connection-> connect_errno pour vérifier s'il y avait une erreur dans la connexion. Si une erreur se produit, le programme sortira un code d'erreur et des informations d'erreur détaillées.

4. Codes d'erreur courantes

Lorsque vous utilisez MySQLI :: $ Errno pour la détection d'erreur de connexion de la base de données, vous pouvez rencontrer des codes d'erreur courants. Voici quelques codes d'erreur de connexion MySQL courants:

  • 1045 : indique que le nom d'utilisateur ou le mot de passe est incorrect.

  • 2002 : indique que la connexion au serveur MySQL n'est pas démarrée ou que l'adresse IP est incorrecte.

  • 1049 : signifie que la base de données n'existe pas.

5. Gérer les erreurs

En plus de vérifier MySqli :: $ Errno , nous devons généralement faire face à différentes situations d'erreur. Selon différents codes d'erreur, les développeurs peuvent choisir différentes stratégies de traitement. Par exemple, si vous rencontrez une erreur qui n'existe pas dans la base de données, vous pouvez inciter l'utilisateur à créer la base de données; S'il s'agit d'un nom d'utilisateur ou d'un mot de passe, vous pouvez inviter à vérifier les informations d'identification de la base de données saisies.

 $connection = new mysqli($host, $username, $password, $dbname);

if ($connection->connect_errno) {
    switch ($connection->connect_errno) {
        case 1045:
            echo "erreur:用户名或密码erreur!";
            break;
        case 2002:
            echo "erreur:Impossible de se connecter à MySQL serveur!";
            break;
        case 1049:
            echo "erreur:La base de données n&#39;existe pas!";
            break;
        default:
            echo "La connexion de la base de données a échoué,Code d&#39;erreur:" . $connection->connect_errno;
    }
} else {
    echo "La connexion de la base de données est réussie!";
}

De cette façon, vous pouvez capturer plus précisément différents types d'erreurs de connexion de la base de données et fournir aux utilisateurs des informations rapides correspondantes.

6. Résumé

Grâce aux propriétés MySQLI :: $ Errno et MySqli :: $ connect_errno , nous pouvons facilement déterminer si la connexion mysqli est erronée et obtenir le code d'erreur. Dans le développement réel, la gestion des erreurs de connexion de la base de données est très importante et peut nous aider à localiser rapidement les problèmes et à répondre de manière appropriée. Avec une gestion des erreurs raisonnable, vous pouvez améliorer la robustesse et l'expérience utilisateur de votre application.

J'espère que cet article peut vous aider à mieux comprendre comment juger si une connexion mysqli est erronée via mysqli :: $ errno et utilisez le code d'erreur pour effectuer un traitement connexe. Si vous rencontrez d'autres problèmes dans votre application réelle, vous pouvez consulter la documentation officielle MySQL en fonction du code d'erreur ou continuer à explorer des solutions.