2011-12-28 66 views
-2

我不斷收到 警告提取數據:和mysql_fetch_row()預計參數1是資源,布爾在XX給出的第6行雖然從數據庫和PHP

錯誤,那麼這段代碼的問題?我該如何解決它?

$read = mysql_query("select * from detail"); 

while($wr = mysql_fetch_array($read)) { 
echo $wr['Who']; 
echo "<br />"; 
echo $wr['Time']; 
echo "<br />"; 
echo $wr['What']; 
} 

編輯;我這樣做仍然給錯誤。

$db = new mysqli('localhost', 'root', '', 'panel'); 
$sql = "select * from detail"; 
$read = $db->query($sql); 

while($wr = mysql_fetch_array($read)) { 
echo $wr['Who']; 
echo "<br />"; 
echo $wr['Time']; 
echo "<br />"; 
echo $wr['What']; 
} 
+1

如果您搜索確切的錯誤消息,您會得到足夠多的類似問題。例如:http://stackoverflow.com/questions/2973202/php-error-mysql-fetch-array-expects-parameter-1-to-be-resource-boolean-given – deceze 2011-12-28 05:16:51

+0

我做到了。每個人都有不同的解決方案。礦必須這麼容易 – Extelliqent 2011-12-28 05:21:33

+0

'var_dump($ read)'在循環之前給了你什麼? – deceze 2011-12-28 05:22:10

回答

4

你混合MySQL和MySQLi擴展!
使用appropriate functions或者不是兩者。

+0

感謝您的線索我剛剛添加「我」到MySQL現在的問題解決了。我把while($ wr = mysqli_fetch_array($ read)){而不是while($ wr = mysql_fetch_array($ read)){ – Extelliqent 2011-12-28 05:32:07

0

使用此代碼:

$read = mysql_query("select * from detail"); 

while($wr = mysql_fetch_array($read, MYSQL_ASSOC)) { 
echo $wr['Who']; 
echo "<br />"; 
echo $wr['Time']; 
echo "<br />"; 
echo $wr['What']; 
} 

更多信息請參見:mysql-fetch-array

+2

爲什麼而不是'mysql_fetch_assoc'?這不是問題的答案。 – 2011-12-28 05:12:59

+0

它不工作。 – Extelliqent 2011-12-28 05:16:13

1

你可能具有因爲您的查詢查詢數據庫的問題失敗:

$read = mysql_query("select * from detail"); // $read is false 

// You can try to discover the error. 
$read = mysql_query("select * from detail") || die(mysql_error()); 
+0

沒什麼問題,它的工作很好 – Extelliqent 2011-12-28 05:20:43

+2

'mysql_query'應該返回'resource',但它返回'FALSE',這意味着有一個錯誤 – 2011-12-28 05:23:06