Comprendre l'erreur de ressource MySQL
Lorsque vous tentez de récupérer des données d'une table MySQL à l'aide de fonctions procédurales MySQL, telles que mysql_fetch_array(), vous pouvez rencontrez l'erreur : "mysql_fetch_array() s'attend à ce que le paramètre 1 soit une ressource, un booléen donné". Cette erreur se produit généralement lorsque la requête échoue pour diverses raisons.
Pour résoudre ce problème, il est crucial de vérifier la valeur de la variable $result avant de la transmettre à la fonction mysql_fetch_array(). Si la requête échoue, $result sera défini sur false.
Par exemple, dans votre code PHP fourni :
$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username');
Vous avez une erreur de syntaxe dans votre requête SQL. La syntaxe correcte pour l'opérateur LIKE consiste à utiliser des guillemets simples autour de la chaîne de recherche :
$result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '$username'");
Une fois l'erreur de syntaxe corrigée, vous devrez vérifier si $result n'est pas faux, comme suit :
if($result !== FALSE) { while($row = mysql_fetch_array($result)) { echo $row['FirstName']; } } else { trigger_error(mysql_error(), E_USER_ERROR); }
La fonction mysql_error() fournit plus de détails sur l'échec de la requête, que vous pouvez afficher à l'utilisateur ou enregistrer à des fins de débogage. En gérant correctement les erreurs de requête, vous pouvez éviter l'erreur de ressource PHP et récupérer avec succès les données de la table MySQL.
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!