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']; }
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 :
if($result === FALSE) { trigger_error(mysql_error(), E_USER_ERROR); }
Pour l'extension MySQLi :
if($result->errno) { // Log or output the error message }
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!