可能重复:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in select
我正在尝试将预订日历脚本安装到服务器上,但在运行时会收到此错误。
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /home/illstudy/public_html/includes/functions.php on line 801
答案 0 :(得分:2)
这意味着mysql_query()
没有返回MySQL资源。它返回布尔值false,这通常意味着SQL中存在错误。将SQL复制并粘贴到PhpMyAdmin或其他数据库管理器中,看看它吐出的错误类型。为避免这种情况,请始终在从中获取数据之前检查mysql_query()
的返回值:
if( !( $result = mysql_query( "SELECT bacon FROM fridge" ) ) ) {
//Execute code here for query failure such as calling mysql_error() to discover the exact problem
}
注意它也可能意味着你没有连接到MySQL。如果你还没有这样做,试试这个:
mysql_connect( $host, $user, $pass );
答案 1 :(得分:0)
脚本中存在错误。它将布尔值(true或false)传递给想要来自SQL查询的记录集的函数。这可能是因为SQL查询失败,并且脚本没有检查错误。但是,如果没有看到导致问题的代码,那么很难更具体。
答案 2 :(得分:0)
这意味着你从mysql获得的'资源'是一个布尔值...这可能意味着它是FALSE,这意味着你的查询有错误。
我建议在调用mysql_fetch_assoc()之前,你应该检查$ resource === FALSE,如果是,则调用mysql_error()。
答案 3 :(得分:0)
该错误意味着您在functions.php文件的第801行提供的任何内容mysql_fetch_assoc
都不是MySQL结果资源。
在此示例中,您可以看到查询中的$result
已传递到mysql_fetch_assoc
。您的代码中可能存在一个错误,但不会导致MySQL结果错误。
$conn = mysql_connect("localhost", "mysql_user", "mysql_password");
$result = mysql_query("SELECT * FROM sometable");
while ($row = mysql_fetch_assoc($result)) {
echo $row["userid"];
echo $row["fullname"];
echo $row["userstatus"];
}
答案 4 :(得分:0)
实际上您向mysql_fetch_assoc()
传递了错误的查询。如果查询错误,mysql_query()
函数返回false布尔值,查询成功完成后返回资源变量。如果您不检查查询是否成功执行并将其直接传递给mysql_fetch_array()
,您可能会经常收到此错误。