php mysql错误初学者

时间:2010-06-11 12:20:00

标签: 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>

我要做的是从数据库中打印一些值。但是我收到了这个错误。

对于任何英语错误我很抱歉,并提前感谢您的帮助。

第二部分 - 编辑

好吧,看起来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>
你能帮帮我吗? 对于任何英语错误我感到抱歉,并提前感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

使用:

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

[]运算符用于追加一行,这是我们想要对$ DATA执行的操作。这意味着它永远不会出现在赋值语句的右侧。

答案 1 :(得分:0)

对于第2部分,作为评论者建议,请移除<?<?=,然后使用<?php<?php echo。如果这不能解决问题,请发布您收到的错误/意外答案。