第一部分 - 解决了。
嗨,我正试图在桌面上打印一些值,但我遇到了问题,我对字符串,矢量和数组知之甚少,但我认为我的问题与它们有关。
我在屏幕上看到了这个
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>
你能帮帮我吗?
对于任何英语错误我感到抱歉,并提前感谢您的帮助。
答案 0 :(得分:3)
使用:
$DATA = array();
...
while($row = mysql_fetch_array($result)) {
$DATA[] = $row;
}
[]
运算符用于追加一行,这是我们想要对$ DATA执行的操作。这意味着它永远不会出现在赋值语句的右侧。
答案 1 :(得分:0)
对于第2部分,作为评论者建议,请移除<?
和<?=
,然后使用<?php
和<?php echo
。如果这不能解决问题,请发布您收到的错误/意外答案。