Position actuelle: Accueil> Derniers articles> Explication détaillée de l'utilisation de base de MySqli :: $ Errno

Explication détaillée de l'utilisation de base de MySqli :: $ Errno

M66 2025-05-29

L'interaction de la base de données est inévitable lors du développement d'applications Web. En tant que langue populaire côté serveur, PHP fournit plusieurs façons de faire fonctionner des bases de données, et MySQLI (MySQL amélioré) en fait partie. Il prend en charge non seulement une approche orientée objet, mais aussi une approche basée sur les processus. MySQLI fournit une variété de façons de gérer les requêtes et les erreurs de base de données, dont l'une est mysqli :: $ errno .

Qu'est-ce que MySqli :: $ Errno ?

MySQLI :: $ Errno est une propriété dans la classe intégrée de PHP MySQLI , qui est utilisée pour renvoyer le code d'erreur lorsqu'une erreur se produit dans une connexion de base de données. Ce code d'erreur est renvoyé par le serveur MySQL et est utilisé pour identifier différents types d'erreurs. MySQLI :: $ Errno est utilisé en conjonction avec l'attribut MySQLI :: $ ERROR . Le premier renvoie un code d'erreur, tandis que le second renvoie un message d'erreur spécifique.

Avec MySqli :: $ Errno , les développeurs peuvent obtenir des codes d'erreur précis, ce qui a donc de meilleurs problèmes de débogage et de traitement dans les opérations de base de données.

Comment utiliser mysqli :: $ errno

Pour mieux comprendre comment utiliser mysqli :: $ errno , regardons un exemple simple:

Exemple de code:

 <?php
// Créer une connexion de base de données
$mysqli = new mysqli("localhost", "root", "password", "test_db");

// Vérifiez si la connexion réussit
if ($mysqli->connect_error) {
    die("Échec de la connexion: " . $mysqli->connect_error);
}

// Exécuter une requête incorrecte(Erreur du nom du tableau)
$query = "SELECT * FROM non_existent_table";
$result = $mysqli->query($query);

// 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;
}

// Fermez la connexion de la base de données
$mysqli->close();
?>

Dans le code ci-dessus:

  1. Nous avons d'abord créé un objet de connexion MySQLI $ mysqli et vérifié si la connexion avait réussi.

  2. Ensuite, nous exécutons une requête qui a fait une erreur délibérée, interrogeant une table non existante_table qui n'existe pas.

  3. Obtenez le code pour les erreurs de requête via $ mysqli-> errno et obtenez des informations d'erreur détaillées via $ mysqli-> erreur .

  4. Fermez enfin la connexion de la base de données.

Si vous exécutez ce code, les résultats de sortie sont similaires à:

 La requête a échoué,Code d&#39;erreur: 1146
message d&#39;erreur: Table 'test_db.non_existent_table' doesn't exist

Ici, $ mysqli-> errno renvoie le code d'erreur 1146 , qui représente le type d'erreur de MySQL: "La table n'existe pas" .

Codes d'erreur courants

Voici quelques codes d'erreur MySQL courants et leurs significations:

  • 1045 : Accès refusé (nom d'utilisateur ou mot de passe incorrect)

  • 1146 : le tableau n'existe pas

  • 1064 : Erreur de syntaxe SQL

  • 1054 : colonne inconnue

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

  • 2002 : Impossible de se connecter au serveur de base de données

Ces codes d'erreur peuvent aider les développeurs à localiser les problèmes plus rapidement et à prendre des solutions correspondantes.

Application de la combinaison de mysqli :: $ errno et URL

Dans le développement réel, il est parfois nécessaire d'interagir dynamiquement avec différentes URL ou serveurs de base de données dans l'application. Supposons que nous ayons une fonction qui consiste à effectuer des opérations de base de données basées sur l'URL, et nous devons obtenir le code d'erreur via mysqli :: $ errno . Ce qui suit est un scénario d'application simple, en supposant que le lien de base de données que nous opérons doit être connecté en fonction des différentes URL:

Exemple de code:

 <?php
// Définition de la cibleURLLe nom de domaine estm66.net
$url = "https://m66.net/db_connect";
$mysqli = new mysqli("m66.net", "user", "password", "test_db");

// Vérifiez si la connexion réussit
if ($mysqli->connect_error) {
    die("Échec de la connexion: " . $mysqli->connect_error);
}

// Exécuter une requête
$query = "SELECT * FROM users";
$result = $mysqli->query($query);

// 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;
}

// Fermez la connexion de la base de données
$mysqli->close();
?>

Dans cet exemple, nous modifions le nom de domaine de la connexion de la base de données à m66.net , ce qui signifie que toutes les opérations de base de données sont basées sur ce nom de domaine. Quel que soit l'emplacement du serveur de la base de données, cette méthode peut simplifier la configuration de l'interaction de la base de données.

résumé

MySQLI :: $ Errno est une propriété très utile dans l'extension PHP MySQLI, qui peut aider les développeurs à obtenir des codes d'erreur lorsque des erreurs de base de données se produisent. Dans le développement réel de PHP, nous pouvons l'utiliser pour effectuer une gestion des erreurs plus précise. En combinant le code d'erreur MySQL, les développeurs peuvent clairement comprendre la cause du problème et prendre des mesures correspondantes pour le réparer. De plus, MySqli :: $ Errno peut également être utilisé comme un outil efficace pour déboguer les problèmes de connexion de la base de données lorsqu'il s'agit d'interagir avec les URL externes.

J'espère que cet article peut vous aider à mieux comprendre et utiliser MySqli :: $ Errno pour gérer efficacement les erreurs de base de données lors du développement d'applications PHP.