Position actuelle: Accueil> Derniers articles> Comment mapper tous les codes d'erreur MySQL et leurs significations via $ errno

Comment mapper tous les codes d'erreur MySQL et leurs significations via $ errno

M66 2025-05-17

En développement, nous pouvons rencontrer diverses erreurs lorsque vous utilisez MySQLI pour se connecter à une base de données MySQL. Pour déboguer ces problèmes, nous pouvons utiliser MySqli :: $ Errno pour obtenir rapidement des informations d'erreur et comprendre la cause spécifique de l'erreur. Cet article présentera comment utiliser MySQLI :: $ Errno et les significations de code d'erreur MySQL courantes.

1. Qu'est-ce que mysqli :: $ errno ?

mysqli :: $ errno est une propriété de la classe mysqli qui stocke le code d'erreur pour la dernière opération MySQL. Nous pouvons vérifier si le fonctionnement de la base de données réussit en accédant à cette propriété. Si l'opération échoue, $ Errno renvoie un code d'erreur et nous pouvons diagnostiquer le problème en fonction de ce code d'erreur.

2. Comment obtenir une erreur MySQL à l'aide de mysqli :: $ errno ?

Tout d'abord, nous devons nous connecter à la base de données MySQL et exécuter une instruction SQL. Si une erreur se produit lors de l'exécution de l'instruction SQL, MySQLI :: $ ERRNO sera défini sur le code d'erreur correspondant. Voici un exemple:

 <?php
// créer mysqli Objet et se connecter à la base de données
$mysqli = new mysqli("localhost", "username", "password", "database_name");

// Vérifiez si la connexion réussit
if ($mysqli->connect_errno) {
    echo "Échec de la connexion à la base de données: " . $mysqli->connect_error;
    exit();
}

// mettre en œuvre SQL Déclaration
$result = $mysqli->query("SELECT * FROM non_existent_table");

// Vérifiez si la requête est réussie
if (!$result) {
    echo "La requête a échoué,Code d&#39;erreur: " . $mysqli->errno . "<br>";
    echo "message d&#39;erreur: " . $mysqli->error;
}

$mysqli->close();
?>

Dans le code ci-dessus, nous avons délibérément exécuté une requête pour une table qui n'existe pas ( non_existent_table ), ce qui déclenche une erreur. $ mysqli-> errno renvoie un code d'erreur, et nous pouvons trouver la cause spécifique de l'erreur en fonction du code d'erreur.

3. Comptes de code d'erreur MySQL communs

Voici quelques codes d'erreur MySQL courants et leurs significations pour aider les développeurs à mieux comprendre les messages d'erreur:

Code d'erreur message d'erreur expliquer
1045 Accès refusé pour l'utilisateur L'authentification de l'utilisateur a échoué, généralement avec un nom d'utilisateur ou une erreur de mot de passe
1049 Base de données inconnue La base de données n'existe pas
1146 Le tableau 'xxx' n'existe pas Le tableau n'existe pas
1064 Vous avez une erreur dans votre syntaxe SQL Erreur de syntaxe SQL
1062 Entrée en double pour la clé «primaire» Conflit de clé primaire, clé primaire en double insérée
2002 Impossible de se connecter au serveur MySQL local Incapable de se connecter au serveur MySQL, le serveur n'est généralement pas démarré
2013 Connexion perdue à MySQL Server Connexion perdue, éventuel problème de réseau ou délai d'expiration du serveur
1142 Sélectionner la commande refusée L'utilisateur n'a pas la permission d'effectuer des opérations sélectionnées
1366 Valeur entière incorrecte Le type de données inséré ne correspond pas au type de champ
1054 Colonne inconnue La colonne de requête n'existe pas

4. Comment faire face aux problèmes en fonction des codes d'erreur?

Lorsque vous rencontrez le code d'erreur fourni par MySqli :: $ Errno , voici quelques méthodes courantes pour la manipuler:

  • Code d'erreur 1045 (Accès refusé pour l'utilisateur) : Cela signifie que le nom d'utilisateur ou le mot de passe fourni est incorrect. Assurez-vous de vous connecter avec les informations d'identification correctes et de vérifier les informations de connexion de la base de données enregistrées dans le fichier de configuration.

  • Code d'erreur 1049 (base de données inconnue) : Cette erreur indique que la base de données connectée n'existe pas. Vous devez vous assurer que le nom de la base de données est correctement orthographié ou créer la base de données correspondante sur le serveur de base de données.

  • Code d'erreur 1064 (vous avez une erreur dans votre syntaxe SQL) : il s'agit d'une erreur de syntaxe SQL. Vérifiez si l'instruction SQL Query a des fautes de frappe et assurez-vous que l'instruction SQL est conforme aux règles de syntaxe.

  • Code d'erreur 1062 (entrée en double pour la clé «primaire») : Cette erreur indique que vous essayez d'insérer une valeur de clé primaire en double. Vous pouvez vérifier les données insérées pour vous assurer qu'il n'y a pas de doublons ou modifier la valeur de clé primaire.

  • Code d'erreur 1146 (le tableau 'xxx' n'existe pas) : cette erreur indique que la table de requête n'existe pas. Vous devez vous assurer que le tableau a été créé ou vous assurer que le nom du tableau dans l'instruction de requête est correct.

5. Résumé

MySQLI :: $ Errno est un outil très pratique qui peut vous aider à localiser rapidement les causes des erreurs MySQL. En combinant des codes d'erreur et des messages d'erreur, vous pouvez résoudre les problèmes plus efficacement. De plus, la compréhension des codes d'erreur MySQL courants et leur signification peut également aider à améliorer l'efficacité du débogage pendant le développement.

J'espère que cet article peut vous aider à mieux comprendre et utiliser MySQLI :: $ Errno et mieux gérer les erreurs MySQL. Si vous rencontrez d'autres problèmes, vous pouvez également vous référer au document officiel du code d'erreur MySQL pour une recherche plus approfondie.