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 ?
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!