警告:mysql_fetch_array()要求参数1为resource,在第58行C:wampwwwpyr


Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:wampwwwpyrllindex.php on line 58

我试图从数据库中获取值,但收到错误消息"警告:mysql_fetch_array()要求参数1为resource,在第58行C:''wamp''www''pyrll''index.php中给出布尔值"。有人能帮我吗?

这是代码:
`

$result = mysql_query("SELECT * FROM project ORDER BY  projectid DESC ");
while($rowsres = mysql_fetch_array($result)) //line 58
echo "$rowsres[projectname]";
?>`

有可能:

  1. 您没有活动的数据库连接

  2. 查询结果没有产生任何结果(即响应为NULL)或

  3. 您的查询中存在语法错误

我会使用像Toad(Windows)或Sequel Pro(Mac OS)这样的程序或好的终端来检查您的查询是否产生结果。

如果您使用sprintf()之类的方法从变量组装查询,请确保使用echo获得正确的字符串输出。

mysql_connect("localhost"、"mysql_user"、"mysql密码")或

die("Could not connect: " . mysql_error());

mysql_select_db("mydb");

$result=mysql_query("SELECT id,name FROM mytable");

Check that the query string (SELECT id, name FROM mytable) works externally

例如。echo$query=sprintf("SELECT id,name FROM mytable WHERE id=%d",$var);

如果echo$query产生类似以下内容:

[GOOD]: SELECT id, name FROM mytable WHERE id = 5

其他

[BAD]: SELECT id, name FROM mytable WHERE id = 

如果输出良好,那么其他部分应该也能正常工作。当然,除非你没有访问数据库的权限。

while($row=mysql_fetch_array($result,mysql_NUM)){printf("ID:%s名称:%s",$row[0],$row[1])
}

如果没有您正在使用的代码,很难说。但大多数情况下,当上一个mysql_*函数失败并且没有返回结果时,就会出现这种错误。相反,尝试使用mysql_*(<blabla>) or die(mysql_error())来验证函数是否工作。

顺便说一句,尽量避免使用mysql_*函数;它们正在贬值过程中。使用mysqli_*或PDO。

相关文章: