2010-06-11 95 views
3

第一部分 - 已解決。php mysql錯誤初學者

嗨,我試圖從表中打印一些值在屏幕上,但我有一個問題,我不太瞭解字符串,向量和數組,但我認爲我的問題與他們有關。

我在屏幕上得到這個

Fatal error: Cannot use [] for reading ...

我的代碼

$sql="SELECT * FROM $tbl_name"; 
$result=mysql_query($sql) or trigger_error(mysql_error().$sql); 
while($row = mysql_fetch_array($result)){ 
$DATA = $row[]; } //line with probelm 
mysql_close(); 

//html part 

<table> 
<? foreach($DATA as $row): ?> 
<tr> 
<td><?=$row['id']?></td> 
//more stuff 
</tr> 
<? endforeach ?> 
</table> 

我試圖做的是打印somevalues形成數據庫。但我得到這個錯誤。

對於任何英文錯誤,我很抱歉,並提前感謝您的任何幫助。

第二部分 - 編輯

好了,好像MySQL的部分工作,我的HTML使用此之前。 mysql_close(); echo "".$DATA[0][0];

要看它是否工作,它打印正確的值。但是我的html部分沒有正確打印。

<html> 
<body> 
<h1>Lista de usuários</h1> 
<table> 
<? foreach($DATA as $row): ?> 
<tr> 
<td><?=$row['id']?></td> 
<td><?=$row['nome']?></td> 
//more stuff like this 
</tr> 
<? endforeach ?> 
</table> 
</body> 
</html> 

你能幫我嗎? 對於任何英文錯誤,我很抱歉,並提前感謝您的任何幫助。

+0

僅僅因爲我過去曾被燒過......你可能想用<?php代替 Jason 2010-06-11 12:34:50

回答

3

用途:

$DATA = array(); 
... 
while($row = mysql_fetch_array($result)) { 
    $DATA[] = $row; 
} 

[]運算符用於追加一排,這就是我們想要做的$ DATA。這意味着它永遠不會出現在任務說明的右側。

+0

嗨,我有另一個問題,我編輯我的問題可能會再看一下嗎? 在此先感謝。 – Marcelo 2010-06-11 12:43:18

+0

最好的辦法是接受這個答案並開始一個新的問題。我認爲你的問題可能在於沒有;在結束之後。 – Arkh 2010-06-11 13:18:50

0

對於第2部分,根據評論者的建議,刪除<?<?=,並使用<?php<?php echo代替。如果這不能解決問題,請發佈您收到的錯誤/意外答案。

+0

我沒有收到任何錯誤消息,只是數據未打印。我是''的問題,現在我改成了'<?php echo',它正在工作。 感謝您的關注。 – Marcelo 2010-06-11 13:40:47