Maison  >  Article  >  base de données  >  Pourquoi l'erreur « mysql_fetch_array() s'attend à ce que le paramètre 1 soit un problème de ressources » se produit-elle et comment la résoudre ?

Pourquoi l'erreur « mysql_fetch_array() s'attend à ce que le paramètre 1 soit un problème de ressources » se produit-elle et comment la résoudre ?

DDD
DDDoriginal
2024-11-02 12:53:30430parcourir

Why does

"Mysql_fetch_array() s'attend à ce que le paramètre 1 soit un problème de ressources [duplicata]" - Comprendre et résoudre l'erreur

L'erreur " mysql_fetch_array() s'attend à ce que le paramètre 1 soit un problème de ressource" se produit lorsque la fonction mysql_fetch_array() ne reçoit pas de ressource valide comme premier argument. Cela se produit généralement lorsque l'appel mysql_query() précédent ne parvient pas à récupérer les données de la base de données.

Pour résoudre cette erreur, il est crucial d'effectuer une vérification des erreurs après l'appel mysql_query(). L'exemple suivant montre comment ajouter la vérification des erreurs au code fourni :

<br>$result = mysql_query("SELECT * FROM student WHERE IDNO=" . $_GET['id']) ;<br>if (!$result) { // Ajoutez cette vérification d'erreur.</p>
<pre class="brush:php;toolbar:false">die('Invalid query: ' . mysql_error());

}

Lorsque mysql_query() échoue, il renvoie false, une valeur booléenne. Si vous le transmettez à mysql_fetch_array(), en attendant un objet de résultat mysql, vous rencontrerez l'erreur indiquée.

Voici le code réécrit avec vérification des erreurs :

<br>$ con = mysql_connect("localhost", "root", "nitoryolai123$%^");<br>if (!$con) {</p>
<pre class="brush:php;toolbar:false">die('Could not connect: ' . mysql_error());

}

mysql_select_db("école ", $con);
$result = mysql_query("SELECT * FROM student WHERE IDNO=" . $_GET['id']);
if (!$result) {

die('Invalid query: ' . mysql_error());

}

while ($row = mysql_fetch_array($result)) {

?>
<table class="a" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#D3D3D3">
    <tr>
        <form name="formcheck" method="get" action="updateact.php" onsubmit="return formCheck(this);">
            <td>
                <table border="0" cellpadding="3" cellspacing="1" bgcolor="">
                    <tr>
                        <td colspan="16" height="25" style="background:#5C915C; color:white; border:white 1px solid; text-align: left"><strong><font size="2">Update Students</font></strong></td>
                    </tr>
                    <tr>
                        <td width="30" height="35"><font size="2">*I D Number:</font></td>
                        <td width="30"><input name="idnum" onkeypress="return isNumberKey(event)" type="text" maxlength="5" id='numbers' value="<?php echo $_GET['id']; ?>" /></td>
                    </tr>
                    <tr>
                        <td width="30" height="35"><font size="2">*Year:</font></td>
                        <td width="30"><input name="yr" onkeypress="return isNumberKey(event)" type="text" maxlength="5" id='numbers' value="<?php echo $row["YEAR"]; ?>" /></td>
                    </tr>
                </table>
            </td>
        </form>
    </tr>
</table>
<?php

}

En incorporant la vérification des erreurs dans votre code, vous pouvez désormais identifier et gérer efficacement les échecs potentiels de récupération de la base de données, évitant ainsi l'erreur "mysql_fetch_array() s'attend à ce que le paramètre 1 soit un problème de ressource".

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