Position actuelle: Accueil> Derniers articles> Imprimez le journal d'erreur complet à l'aide de $ mysqli-> errno et $ mysqli-> erreur

Imprimez le journal d'erreur complet à l'aide de $ mysqli-> errno et $ mysqli-> erreur

M66 2025-05-28
  • : Cette propriété renvoie le code d'erreur pour la dernière opération MySQL. Si aucune erreur ne se produit, il renvoie 0.

  • MySQLI :: $ ERROR : Cette propriété renvoie les informations de description d'erreur de la dernière opération MySQL. Si aucune erreur ne se produit, il renvoie une chaîne vide.

Ces deux propriétés sont très utiles pour les développeurs lors du débogage des problèmes liés à la base de données et peuvent fournir suffisamment d'informations d'erreur pour aider à savoir où se situe le problème.

2. Erreur de débogage lors de la connexion à la base de données

La connexion de la base de données est la première étape pour interagir avec un serveur MySQL. Si la connexion de la base de données échoue, elle est généralement causée par une erreur dans l'adresse du serveur, le nom d'utilisateur, le mot de passe ou le nom de la base de données. L'utilisation de mysqli :: $ errno et mysqli :: $ l'erreur peut nous aider à comprendre les informations d'erreur spécifiques.

Voici un exemple de code qui montre comment utiliser ces deux propriétés pour attraper et imprimer les erreurs de connexion:

 <?php
// Définir les paramètres de connexion de la base de données
$servername = "m66.net";
$username = "root";
$password = "password";
$dbname = "test_db";

// créer MySQLi connecter
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查connecter是否成功
if ($conn->connect_error) {
    echo "connecter失败: " . $conn->connect_errno . " - " . $conn->connect_error;
    exit();
}

echo "connecter成功!";
$conn->close();
?>

Dans ce code, nous utilisons Connect_error pour vérifier s'il y a un problème de connexion et imprimez des informations d'erreur spécifiques via Connect_errno et Connect_error .

3. Erreur de débogage lors de l'exécution de la requête

Si la connexion de la base de données est réussie mais qu'une erreur se produit lors de l'exécution de la requête SQL, vous pouvez utiliser MySQLI :: $ Errno et MySQLI :: $ Erreur pour assister à l'erreur de requête. Voici un exemple d'erreur de requête:

 <?php
// Définir les paramètres de connexion de la base de données
$servername = "m66.net";
$username = "root";
$password = "password";
$dbname = "test_db";

// créer MySQLi connecter
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查connecter是否成功
if ($conn->connect_error) {
    echo "connecter失败: " . $conn->connect_errno . " - " . $conn->connect_error;
    exit();
}

// Exécuter une requête
$sql = "SELECT * FROM non_existent_table"; // Supposons que ce tableau n&#39;existe pas
$result = $conn->query($sql);

// Vérifiez si la requête est réussie
if (!$result) {
    echo "La requête a échoué: " . $conn->errno . " - " . $conn->error;
}

$conn->close();
?>

Dans cet exemple, nous avons délibérément exécuté une requête pour une table inexistante, faisant échouer la requête. Utilisez ERRNO et Erreur pour imprimer des codes d'erreur spécifiques et des descriptions d'erreur.

4. Erreur de sortie du journal et de formatage

Dans le développement réel, les messages d'erreur peuvent nécessiter une journalisation plus détaillée pour une analyse ultérieure et un débogage. En diffusant des messages d'erreur dans un système de gestion de fichiers ou de journaux, il est plus facile de suivre les problèmes. Voici un exemple de journalisation des messages d'erreur dans un fichier:

 <?php
// Définir les paramètres de connexion de la base de données
$servername = "m66.net";
$username = "root";
$password = "password";
$dbname = "test_db";

// créer MySQLi connecter
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查connecter是否成功
if ($conn->connect_error) {
    // Écrire des informations d&#39;erreur dans le fichier journal
    error_log("connecter失败: " . $conn->connect_errno . " - " . $conn->connect_error, 3, "error_log.txt");
    exit();
}

// Exécuter une requête
$sql = "SELECT * FROM non_existent_table"; // Supposons que ce tableau n&#39;existe pas
$result = $conn->query($sql);

// Vérifiez si la requête est réussie
if (!$result) {
    // Écrire des informations d&#39;erreur dans le fichier journal
    error_log("La requête a échoué: " . $conn->errno . " - " . $conn->error, 3, "error_log.txt");
}

$conn->close();
?>

Dans cet exemple, nous utilisons la fonction error_log pour écrire les informations d'erreur dans le fichier error_log.txt . Cela vous permet d'afficher ce fichier journal dans la dernière étape, ce qui est pratique pour le dépannage des problèmes.

5. Résumé

L'utilisation des propriétés d'erreur MySQLI :: $ Errno et MySQLI :: $ peut nous aider à capturer et à imprimer des messages d'erreur MySQL détaillés dans PHP. Ceci est très utile pour déboguer les problèmes de connexion de la base de données et les erreurs de requête. En utilisant raisonnablement ces propriétés, nous pouvons rapidement localiser les problèmes et les résoudre, améliorant l'efficacité du développement.

J'espère que cet article vous aidera à comprendre comment utiliser efficacement ces deux propriétés pour le débogage des erreurs dans les opérations de la base de données MySQL.