2012-10-12 20 views
-1

可能重複:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in selectPHP MySQL的(進出口新的PHP)

我新的PHP和我試圖從數據庫中簡單地輸出的東西。

這裏是我的代碼:

<?php 
mysql_connect("localhost:3306", "devnullx_user", "thatguy1") or die (mysql_error()); 
mysql_select_db("devnullx_mycrosoft") or die(mysql_error()); 
$strSQL = "SELECT * FROM devnullx_mycrosoft"; 
$result = mysql_query($strSQL); 
while($row = mysql_fetch_array($result)) { 
    echo $row['Username'] . "<br />"; 
} 
mysql_close(); 
?> 

這裏是我得到的錯誤: 警告:mysql_fetch_array()預計參數1是資源,布爾在/ home/devnullx /的public_html/DB給出.php on line 6

我不是很瞭解PHP,但是我正在努力學習,如果你有幫助。

感謝。

+0

你有什麼價值在你的分貝?你確定你的數據庫名和你的表名是一樣的嗎? – Furry

+0

看起來您正在查詢數據庫而不是數據庫中的表。首先驗證並執行錯誤處理 – janenz00

回答

2

這意味着查詢無法正常工作。

mysql_query返回時出錯false,否則返回資源。您可以使用mysql_error查找與問題對應的錯誤消息。

祝你好運!

+0

我不明白,因爲所有信息都是正確的...... –

+0

做@LearneR建議的。一旦你得到了這個錯誤信息,我們可以幫助你更多:) –

+0

Im新的它,這是令人尷尬,但你到底是如何將錯誤添加到該行?謝謝。 –

2

更換

$result = mysql_query($strSQL); 

$result = mysql_query($strSQL) or die(mysql_error()); 

找出錯誤。同時不要使用mysql_*函數,學習mysqliPDO

更新:

至於你說你的表名是mycrosoft所以更換

SELECT * FROM devnullx_mycrosoft 

SELECT * FROM `mycrosoft` 
+0

好吧,我得到了它的一部分,它說「表'devnullx_mycrosoft.devnullx_mycrosoft'不存在」...好吧,我想我沒有正確地把信息,你能提供如何填充我的代碼的語法? :S –

+1

這意味着你的表名不存在於你的'devnullx_mycrosoft'數據庫中,請檢查你提供的表名是否正確? –

+0

好吧,所以我有這個表,'devnullx_mycrosoft.Username'不存在...所以是數據庫的第一部分?或桌子?第二部分?再次感謝。 –

0
if(mysql_num_rows($strSQL)>0){ 
    Your Fetching Code 
} 
-1

用戶這個

$result = mysql_query($strSQL) or die(mysql_error()); 

代替

$result = mysql_query($strSQL); 

這將幫助了你什麼是錯誤

+0

這是另一個答案的直接副本。 –

0
`$strSQL = "SELECT * FROM devnullx_mycrosoft";` 

devnullx_mycrosoft是你的數據庫,表名稱替換它。 :)