给出MySQL查询布尔值

时间:2011-02-14 02:46:41

标签: php mysql

  

可能重复:
  mysql_fetch_array() expects parameter 1 to be resource, boolean given in select

$query = mysql_query("SELECT * FROM archive");

while($row = mysql_fetch_array($query))
{
    echo "<ul id='slideshow'>
               <li>
                    <h3>".$row['title']."</h3>
                    <span>".$row['imgLoc']."</span>
                    <p>".$row['information']."</p>
                    <a href='#'><img src='".$row['thumbnails']."'/></a>
               </li>
         </ul>";
}

好的家伙我不认为我的代码在这里有什么问题,但出于某种原因我得到了

mysql_fetch_array() expects parameter 1 to be resource, boolean given

我相信这意味着没有任何信息,或者它至少无法拉动它... IDK但是无论如何,据说我用相同的文件和SQL转储去了我的另一台计算机,它没有问题...我不知道这里发生了什么...这两个服务是完全相同的软件和相同的代码在这种情况下...我已经尝试重新启动服务,然后删除数据库并将其从sql转储,但问题仍然存在......什么可能导致这个?谁知道?我在这里不知所措......

我可以确认信息在表格中并且可以建立连接...有什么建议吗?

2 个答案:

答案 0 :(得分:2)

这源于上一行:

$query = mysql_query("SELECT * FROM archive");

由于您正在使用过程API,因此您应该传入要在其上执行查询的MySQL连接资源。

因为a)你没有传入连接资源或者b)查询本身失败,mysql_query刚刚返回FALSE,因此出现错误消息:

mysql_fetch_array() expects parameter 1 to be resource, boolean given

将上述内容更改为此设置,假设$dbmysql_connect的返回值,您应该全部设置:

$query  = "SELECT * FROM archive";
$result = mysql_query($query, $db);
if(!$query) {
   trigger_error(mysql_error()." in ".$query);
}

答案 1 :(得分:0)

http://php.net/manual/en/function.mysql-query.php

mysql_query在出错时返回false,你应该检查返回值。

在查询后将其添加到代码中:

if (!$query) {
    trigger_error('Invalid query: ' . mysql_error());
}