La gestion des erreurs est très importante lors du développement d'API RESTful, qui sont directement liées à la disponibilité et à l'expérience utilisateur de l'API. Lorsque l'API interagit avec la base de données, les erreurs de base de données peuvent affecter la stabilité de l'interface et comment capturer efficacement et avec précision ces erreurs devient un problème critique. Dans PHP, MySQLI :: $ Errno est une fonction très utile qui peut nous aider à renvoyer avec précision le code d'état d'erreur de la base de données, améliorant ainsi les capacités de gestion des erreurs de l'API.
MySQLI :: $ ERRNO est une propriété fournie par l'extension MySQLI qui est utilisée pour obtenir le numéro d'erreur de l'opération de base de données la plus récente. Lorsqu'une erreur se produit dans une opération de base de données, MySQL renvoie un code d'erreur et MySQLI :: $ Errno est utilisé pour capturer et renvoyer le numéro d'erreur. Habituellement, ce numéro d'erreur sera utilisé avec l'attribut d'erreur MySQLI :: $ , qui contient une description détaillée de l'erreur.
L'API RESTful est conçue pour fournir une interface unifiée, concise et facile à comprendre à l'avant. Au cours du processus de développement, les opérations de base de données sont l'une des exigences communes. Afin d'améliorer la stabilité et la facilité d'utilisation de l'API, nous pouvons utiliser MySQLI :: $ Errno pour assister aux erreurs de base de données et à les commentaires aux développeurs ou utilisateurs frontaux en renvoyant le code d'état d'erreur approprié.
Connectez-vous à la base de données <br> Utilisez MySQLI pour vous connecter à la base de données pour vous assurer que la connexion de la base de données est réussie.
Effectuer des opérations de base de données <br> Effectuer des opérations telles que l'insertion, la mise à jour, la requête, etc.
Vérifiez et captez les erreurs <br> Si une erreur de base de données se produit, utilisez mysqli :: $ errno pour obtenir le numéro d'erreur et renvoyer le code d'état correspondant en fonction du numéro d'erreur.
Renvoyer une réponse d'erreur <br> Renvoie le code d'état d'erreur et les informations d'erreur dans la réponse de l'API, ce qui facilite le frontal pour gérer le traitement correspondant en fonction des différents types d'erreur.
<?php
// Créer une connexion de base de données
$mysqli = new mysqli("localhost", "user", "password", "database");
// Vérifiez si la connexion de la base de données est réussie
if ($mysqli->connect_error) {
die("Échec de la connexion: " . $mysqli->connect_error);
}
// Effectuer des opérations de base de données
$sql = "INSERT INTO users (name, email) VALUES ('John Doe', 'john@example.com')";
if ($mysqli->query($sql) === TRUE) {
echo "Nouvelle insertion d'enregistrement avec succès";
} else {
// Attraper et gérer les erreurs de base de données
$errorCode = $mysqli->errno;
$errorMessage = $mysqli->error;
// définitionAPIStructure de réponse
$response = [
"status" => "error",
"code" => $errorCode,
"message" => "Erreur de base de données: " . $errorMessage
];
// Sortir JSON Réponse d'erreur de format
header('Content-Type: application/json');
echo json_encode($response);
}
// Fermez la connexion de la base de données
$mysqli->close();
?>
$ mysqli-> errno : Si l'opération de la base de données échoue, $ mysqli-> errno renvoie le code d'erreur pour l'erreur MySQL. Par exemple, s'il s'agit d'une erreur de syntaxe SQL, le code d'erreur sera 1064.
$ mysqli-> Erreur : utilisé avec Errno . $ mysqli-> L'erreur renvoie des messages d'erreur spécifiques, tels que "vous avez une erreur dans votre syntaxe SQL".
Grâce à la méthode ci-dessus, nous pouvons fournir des informations d'erreur détaillées et des codes d'état pour l'API. Les capacités de traitement des erreurs se reflètent non seulement dans la capture avec précision des erreurs de base de données, mais incluent également les aspects suivants:
Format d'erreur unifié : utilisez un format de réponse d'erreur unifié dans l'API pour faciliter les développeurs frontaux pour gérer les types d'erreur. Par exemple, toutes les réponses d'erreur doivent inclure les champs d'état , de code et de messages .
Traitement pour différents codes d'erreur : Selon le numéro d'erreur renvoyé par mysqli :: $ errno , l'API peut donner différents codes d'état de réponse. Par exemple, lorsque la connexion de la base de données échoue, un code d'état de 500 peut être renvoyé; Si l'erreur d'entrée de l'utilisateur est causée, un code d'état de 400 peut être renvoyé.
Journalisation : enregistrez des journaux d'erreur détaillés du côté du serveur API pour le dépannage d'erreur ultérieur et l'optimisation du système. La fonction error_log () de PHP peut être utilisée pour sortir des informations d'erreur dans le fichier journal.
Message d'erreur convivial : Afin d'éviter d'exposer les erreurs internes aux utilisateurs finaux, le message d'erreur de l'API doit être traité de manière appropriée, comme ne pas afficher les détails d'erreur spécifiques de la base de données, mais fournir une invite conviviale.
Après avoir obtenu le code d'état d'erreur de la base de données via mysqli :: $ errno , différents messages d'erreur peuvent être renvoyés en fonction des codes d'erreur courants:
1045 - La certification a échoué <br> Lorsque l'authentification de l'utilisateur MySQL échoue, $ mysqli-> errno renvoie 1045, qui peut renvoyer un message d'erreur de défaillance d'authentification.
1064 - Erreur de syntaxe SQL <br> Si l'instruction SQL a une erreur de syntaxe, $ mysqli-> errno renvoie 1064 et le frontal peut inciter l'utilisateur à vérifier le SQL entré.
2002 - Délai de connexion <br> Si la connexion de la base de données a chronométré, $ mysqli-> errno reviendra 2002, ce qui peut inviter l'utilisateur frontal à vérifier si le service de réseau ou de base de données est normal.
En utilisant la fonction MySqli :: $ Errno en PHP, les développeurs peuvent capturer et gérer avec précision les erreurs de base de données. Ceci est crucial pour le développement d'API RESTful, car le traitement précis des erreurs améliore non seulement la fiabilité de l'interface, mais améliore également efficacement l'expérience utilisateur. Les bons mécanismes de gestion des erreurs incluent le format de réponse à l'erreur unifiée, les informations d'erreur détaillées, la journalisation et les méthodes de manipulation pour des codes d'erreur spécifiques.
Diviseur horizontal
Étiquettes associées:
API