Aller au contenu

vider les informations de débogage

Dans cet article, nous nous concentrerons sur les fonctions mysqli_error() et mysqli_report() en PHP, qui servent à capturer et gérer les détails des erreurs pour une connexion MySQLi. Nous vous fournirons un aperçu de ces fonctions, de leur fonctionnement et des exemples de leur utilisation.

Introduction aux fonctions mysqli_error() et mysqli_report()

Les fonctions mysqli_error() et mysqli_report() sont des fonctions intégrées de PHP utilisées pour capturer les détails des erreurs d'une connexion MySQLi. Important : mysqli_report() vous permet de configurer la manière dont MySQLi gère les erreurs (par exemple en levant des exceptions ou en les enregistrant), tandis que mysqli_error() récupère le message d'erreur de la dernière opération MySQLi. Notez que mysqli_report() est globale et affecte tous les appels MySQLi suivants dans le script. Ces fonctions sont essentielles pour déboguer les connexions MySQLi et surveiller l'état de la connexion dans les applications PHP modernes.

Comment utiliser les fonctions mysqli_error() et mysqli_report()

L'utilisation des fonctions mysqli_error() et mysqli_report() est très simple. Il vous suffit de les appeler sur un objet de connexion MySQLi valide. Voici un exemple :

Comment utiliser mysqli_error() et mysqli_report() ?

php
<?php
// Configure error reporting behavior (global for this script)
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

try {
    $mysqli = mysqli_connect("localhost", "username", "password", "database");
} catch (mysqli_sql_exception $e) {
    die('Connection failed: ' . $e->getMessage());
}

// execute queries using the connection

// Check for errors after operations
if (mysqli_error($mysqli)) {
    echo 'Error details: ' . mysqli_error($mysqli);
}

mysqli_close($mysqli);
?>

Dans cet exemple, nous appelons la fonction mysqli_connect() pour nous connecter à une base de données MySQL avec un nom d'utilisateur et un mot de passe. Nous vérifions la connexion avant de continuer, puis nous exécutons des requêtes à l'aide de la connexion. Enfin, nous appelons mysqli_error() pour capturer les détails d'éventuelles erreurs. La fonction renvoie une chaîne contenant le message d'erreur, ou une chaîne vide si aucune erreur ne s'est produite. Nous vérifions la valeur de retour pour nous assurer que l'opération a réussi. Par défaut, les messages d'erreur sont renvoyés directement dans PHP, mais vous pouvez également activer le journal général MySQL côté serveur pour capturer toutes les requêtes et erreurs dans un fichier journal dédié. Vous pouvez vérifier la sortie en consultant le journal d'erreurs PHP ou le journal du serveur MySQL après l'exécution.

Utilisation avancée

La fonction mysqli_error() peut également être utilisée dans des scénarios plus avancés. Par exemple, vous pouvez utiliser cette fonction pour capturer les détails des erreurs pour des connexions MySQLi spécifiques. Voici un exemple :

Utilisation avancée de mysqli_error() en PHP

php
<?php
$mysqli1 = mysqli_connect("localhost", "username", "password", "database1");
$mysqli2 = mysqli_connect("localhost", "username", "password", "database2");

if ($mysqli1 === false || $mysqli2 === false) {
    die('Connection failed: ' . mysqli_connect_error());
}

// execute queries using the first connection

if (mysqli_error($mysqli1)) {
    echo 'Error details for connection 1: ' . mysqli_error($mysqli1);
}

// execute queries using the second connection

if (mysqli_error($mysqli2)) {
    echo 'Error details for connection 2: ' . mysqli_error($mysqli2);
}

mysqli_close($mysqli1);
mysqli_close($mysqli2);
?>

Dans cet exemple, nous créons deux objets MySQLi et nous nous connectons à deux bases de données MySQL différentes avec un nom d'utilisateur et un mot de passe. Nous pouvons ensuite exécuter des requêtes à l'aide de chaque connexion. Enfin, nous appelons mysqli_error() pour chaque connexion afin de capturer les détails des erreurs. Avertissement : la journalisation de débogage peut entraîner une surcharge importante des performances et peut exposer des informations sensibles. Supprimez ou désactivez toujours ces appels dans les environnements de production.

Conclusion

En conclusion, les fonctions mysqli_error() et mysqli_report() sont des outils utiles pour déboguer les connexions MySQLi et connaître l'état de la connexion. En comprenant comment utiliser ces fonctions et leurs scénarios d'utilisation avancée, vous pouvez tirer parti de cette fonctionnalité pour créer des requêtes MySQLi puissantes et flexibles dans vos scripts PHP.

Practice

In PHP, which functions are used to dump debug information?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.