php
  • mysql
  • 2011-02-14 76 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); 
    } 
    
    相關問題