2012-04-18 105 views
-2

可能重复:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in selectmysql_fetch_array()预计参数1是资源 - 拉出个人ID

我使用此代码拉出应征者的地位数据库所以他们的状态登录时出现,基于用户ID,但我收到以下错误:

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in 
Warning: mysql_free_result() expects parameter 1 to be resource, boolean given in 

$result = mysql_query("SELECT status from users where user_id = ".intval($_SESSION['user_id'])); 

while ($row = mysql_fetch_array($result, MYSQL_NUM)) { 
    printf("status: %s ", $row[0]); 
} 

mysql_free_result($result); 
echo $row['status']; 

在此先感谢

+1

你通常不需要调用'mysql_free_result'。从手册:如果您担心返回大型结果集的查询使用了多少内存,只需要调用“mysql_free_result()”,所有相关的结果内存在脚本执行结束时自动释放。请参阅http://stackoverflow.com/questions/2502201/is-it-a-good-practice-to-use-mysql-free-resultresult – 2012-04-18 12:58:52

回答

1

,因为您的查询失败由于某种原因,您收到此消息。查询后添加or die(mysql_error())以查看错误。

这应该用于调试目的,当您将应用程序移至生产时应该更加优雅地处理。

+0

啊谢谢我有一个错误的列,这有助于显示 – user1257518 2012-04-18 13:11:09

0

这应该是这样的

$result = mysql_query("SELECT status from users where user_id = '".intval($_SESSION['user_id'])."'"); 

你失踪单引号

+0

这将如何改变? – 2012-04-18 13:00:00

+0

,因为条件需要在引号中,否则它将失败tun并抛出false,这是你正在接收的布尔型 – 2012-04-18 13:01:06

+0

字符串需要用引号引起来。整数不。 – Travesty3 2012-04-18 13:01:59

相关问题