php
  • mysql
  • 2011-02-14 89 views -1 likes 
    -1

    可能重复:
    mysql_fetch_array() expects parameter 1 to be resource, boolean given in selectMySQL查询布尔给出

    $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 
    

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

    我可以确认信息是在表中,并可以建立连接...任何建议?

    回答

    0

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

    的mysql_query返回出错假,你都应该检查返回值。

    查询在此之后添加到代码:

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

    这将显示你的错误,在生产代码,你可能要处理它不仅仅是退出和暴露的实现细节更好。 – Jacob 2011-02-14 02:53:20

    +1

    为什么不把它写得更好? – 2011-02-14 06:26:17

    2

    这源于上一行:

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

    因为你是一个程序API的工作,你(应该)通过在您想要执行查询的MySQL连接资源。

    因为)你没有在连接资源路径或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); 
    } 
    
    相关问题