错误“当 mysql_fetch_array() 函数未接收到有效资源作为第一个参数时,会出现“mysql_fetch_array() 期望参数 1 为资源问题”。当前面的 mysql_query() 调用无法从数据库检索数据时,通常会发生这种情况。
要解决此错误,在 mysql_query() 调用后执行错误检查至关重要。以下示例演示如何向提供的代码添加错误检查:
<br>$result = mysql_query("SELECT * FROM Student WHERE IDNO=" . $_GET['id']) ;<br>if (!$result) { // 添加此错误检查。<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">die('Invalid query: ' . mysql_error());
}
当 mysql_query() 失败时返回false,布尔值。如果你将它传递给 mysql_fetch_array(),期待一个 mysql 结果对象,你将遇到所述错误。
这是带有错误检查的重写代码:
<br>$ con = mysql_connect("localhost", "root", "nitoryolai123$%^");<br>if (!$con) {<pre class="brush:php;toolbar:false">die('Could not connect: ' . mysql_error());
}
mysql_select_db("学校", $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
}
通过将错误检查合并到在您的代码中,您现在可以有效地识别和处理潜在的数据库检索失败,从而防止出现“mysql_fetch_array() 期望参数 1 是资源问题”错误。
以上是为什么会出现'mysql_fetch_array()期望参数1是资源问题”错误,以及如何解决?的详细内容。更多信息请关注PHP中文网其他相关文章!