Maison > base de données > tutoriel mysql > Comment puis-je gérer les échecs de requête lors de l'utilisation des extensions MySQL de PHP ?

Comment puis-je gérer les échecs de requête lors de l'utilisation des extensions MySQL de PHP ?

Patricia Arquette
Libérer: 2024-12-29 12:50:15
original
711 Les gens l'ont consulté

How Can I Handle Query Failures When Using PHP's MySQL Extensions?

Gestion des échecs de requête dans les extensions PHP MySQL

Lors de la tentative d'extraction de données d'une table MySQL, des erreurs telles que "mysql_fetch_array()" apparaissent occasionnellement. s'attend à ce que le paramètre 1 soit une ressource, un booléen donné" peut survenir. Cette erreur indique que la fonction de requête a échoué, entraînant une valeur booléenne ("false") au lieu du descripteur de ressource attendu.

Dans le code PHP fourni :

$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username');

while($row = mysql_fetch_array($result)) {
    echo $row['FirstName'];
}
Copier après la connexion

L'erreur se produit car la fonction de requête (mysql_query) peut renvoyer soit vrai en cas d'exécution réussie, soit faux en cas d'échec. Il convient de noter que l'instruction SQL fournie peut échouer pour diverses raisons, telles qu'une syntaxe invalide ou une table inexistante.

Pour résoudre ce problème, vous devez vérifier le résultat de la fonction de requête avant d'essayer de récupérer des lignes. en utilisant mysql_fetch_array. Si $result est évalué à false, cela signifie que la requête a échoué et vous devez gérer l'erreur de manière appropriée.

Pour l'extension MySQL obsolète :

  • Utilisez mysql_error pour récupérer le message d'erreur associé à l'échec de la requête.
  • Vous pouvez choisir d'afficher un message d'erreur convivial ou de consigner l'erreur pour débogage.
if($result === FALSE) {
    trigger_error(mysql_error(), E_USER_ERROR);
}
Copier après la connexion

Pour l'extension MySQLi :

  • Vérifiez la propriété mysqli_errno de l'objet mysqli pour obtenir le code d'erreur.
  • Utilisez mysqli_error pour récupérer le message d'erreur.
  • Gérez le erreur le cas échéant.
if($result->errno) {
    // Log or output the error message
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal