Maison  >  Article  >  base de données  >  Pourquoi mon script PHP lance-t-il « mysql_fetch_array() : le paramètre 1 devrait être une ressource » ?

Pourquoi mon script PHP lance-t-il « mysql_fetch_array() : le paramètre 1 devrait être une ressource » ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-01 16:42:02309parcourir

Why Does My PHP Script Throw

mysql_fetch_array() : le paramètre 1 devrait être une ressource

Dans votre script PHP, vous rencontrez l'erreur "mysql_fetch_array() attend un paramètre 1 pour être une ressource. Cela indique que la fonction reçoit un type de paramètre incorrect.

Source de l'erreur

Le problème provient de la ligne suivante :

<code class="php">$result = mysql_query("SELECT * FROM student WHERE IDNO=".$_GET['id']);</code>

Cette ligne exécute une requête sur la base de données. Si la requête échoue ou s'il n'y a aucun résultat, la fonction renvoie une valeur booléenne, indiquant le succès ou l'échec de la requête. Cependant, la fonction mysql_fetch_array() attend une ressource comme premier paramètre, qui est le résultat d'une requête réussie.

Solution

Pour résoudre le problème, vous devez vérifiez la valeur de retour de mysql_query() pour vous assurer qu'il s'agit d'une ressource. Vous pouvez le faire en ajoutant une vérification d'erreur après la ligne de requête :

<code class="php">$result = mysql_query("SELECT * FROM student WHERE IDNO=".$_GET['id']);
if (!$result) {
    die('Invalid query: ' . mysql_error());
}</code>

Cela affichera le message d'erreur et mettra fin au script si la requête échoue.

Considérations supplémentaires

En dehors de ce problème, il est recommandé d'utiliser les extensions MySQLi ou PDO améliorées pour l'interaction avec la base de données au lieu des fonctions obsolètes mysql_*. Ces extensions offrent des fonctionnalités de sécurité et de performances améliorées.

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