Maison  >  Article  >  développement back-end  >  Avertissement PHP : mysql_fetch_array() attend une solution de paramètre

Avertissement PHP : mysql_fetch_array() attend une solution de paramètre

PHPz
PHPzoriginal
2023-06-24 18:34:221699parcourir

La fonction mysql_fetch_array() en PHP est généralement utilisée pour convertir le jeu de résultats de la requête en un tableau PHP. Cependant, lorsque vous utilisez la fonction mysql_fetch_array(), vous pouvez rencontrer l'erreur suivante :

"Attention : mysql_fetch_array() attend un paramètre, X peut être 1 ou 2, cela est dû à un type de paramètre incorrect. transmis lorsque la fonction est appelée. Dans cet article, nous discuterons des causes de cette erreur et comment y remédier.

Raison de l'erreur

Cette erreur indique que le type de paramètre transmis dans l'appel de fonction est incorrect. Dans la fonction mysql_fetch_array(), le premier paramètre doit être l'identifiant d'un jeu de résultats de requête, renvoyé par la fonction mysql_query().

Si ce qui est transmis n'est pas un jeu de résultats, mais une valeur booléenne, l'erreur ci-dessus se produira. Habituellement, cette erreur est causée par les raisons suivantes :

1. La requête n'est pas exécutée

Avant d'appeler la fonction mysql_fetch_array(), vous devez d'abord utiliser la fonction mysql_query(). fonction pour émettre une requête de requête et obtenir un ensemble de résultats. Si la requête n'a pas été exécutée, la fonction mysql_query() renverra false comme valeur booléenne, donc lorsqu'elle sera transmise à la fonction mysql_fetch_array(), une erreur se produira.

2. Échec de la requête

Si l'exécution de la requête échoue, un faux sera renvoyé à la place de l'identifiant de l'ensemble de résultats. De même, lorsque vous essayez de transmettre false à la fonction mysql_fetch_array(), l'erreur se produit.

3. Utilisez une mauvaise syntaxe

Lorsqu'une mauvaise syntaxe SQL est utilisée, la requête ne sera pas exécutée et une fausse valeur sera renvoyée. De même, lorsque vous essayez de transmettre false à la fonction mysql_fetch_array(), l'erreur se produit.

Solution

1. Vérifiez si la requête a été exécutée avec succès

Avant d'appeler la fonction mysql_fetch_array(), veuillez vous assurer que la fonction mysql_query() la fonction a été utilisée. Une requête a été exécutée avec succès et l'identifiant de l'ensemble de résultats a été obtenu. Si la requête n'est pas exécutée avec succès, la fonction mysql_query() retournera false. Par conséquent, avant d'appeler la fonction mysql_fetch_array(), vérifiez si la requête a été exécutée avec succès comme suit :

$result = mysql_query("SELECT * FROM table_name");

#🎜🎜 # if($result !== false) {

//Requête réussie

$row = mysql_fetch_array($result);

// Utilisation ensemble de résultats

}

else {

//Échec de la requête

}

#🎜🎜 # 2. Gestion des échecs de requête

Si l'exécution de la requête échoue, vous devez rechercher les erreurs et résoudre le problème. L'extrait de code suivant montre comment vérifier l'échec d'une requête et afficher un message d'erreur :

$result = mysql_query("SELECT * FROM table_name");

if($result === false ) {

//Échec de la requête

echo "Erreur MySQL : " .

else {

//Obtention réussie de l'ensemble de résultats

$row = mysql_fetch_array($result);

}#🎜🎜 #

3. Utilisez la syntaxe correcte

pour garantir une syntaxe SQL correcte afin d'éviter l'échec des requêtes. En cas de doute, veuillez consulter la documentation MySQL ou vous référer au livre MySQL.

Résumé

Lors de l'utilisation de la fonction mysql_fetch_array(), si le message d'erreur "Avertissement : mysql_fetch_array() s'attend à ce que le paramètre X soit une ressource, booléen donné" apparaît, veuillez vérifier le segment de code Indique si la requête a été exécutée avec succès, si l'exécution de la requête a échoué ou si sa syntaxe est incorrecte. Si vous suivez les suggestions ci-dessus, vous devriez pouvoir résoudre l'erreur avec succès.

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!

Déclaration:
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