0

我试图从数据库中获取值,但我收到一条错误消息“警告:mysql_fetch_array() 期望参数 1 是资源,在第 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]";

?>`
4

2 回答 2

0

如果没有您正在使用的代码,就很难说。但大多数情况下,这个错误发生在之前的 mysql_* 函数失败并且没有返回结果时。而是尝试mysql_*(<blabla>) or die(mysql_error())用于验证功能是否有效。

作为旁注,尽量避免使用 mysql_* 函数;他们正在折旧过程中。使用 mysqli_* 或 PDO。

于 2013-07-11T05:38:47.260 回答
0

有可能:

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

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

  3. 您的查询中有语法错误

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

如果您使用sprintf()之类的东西从变量中组合查询,请确保您使用回显获得正确的字符串输出。

mysql_connect("localhost", "mysql_user", "mysql_password") 或

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 Name: %s", $row[0], $row[1]);
}

于 2013-07-11T05:53:04.573 回答