while循环不能从表中选择多个列

时间:2013-03-30 09:21:31

标签: php mysql select while-loop

我有一个包含5列的表格,如TABLE(a,b,c,d,e)

现在我想从TABLE中选择所有列。但是一旦while循环启动,脚本就不会工作了。 我的PHP代码是:

include_once $_SERVER['DOCUMENT_ROOT'].'/include/db.inc.php' ;
$sql="select * from TABLE";
$result = mysqli_query($link,$sql );
if (!$result)
{
include_once "wall.html.php";
echo'<tr><td align="center"> OOOOPPPPPSSS!!!SORRY,UNABLE TO DISPLAY LATEST 25 TOPICS</td></tr>';
exit();
}
while ($row = mysqli_fetch_array($result))
{
$as[]=$row['a'];
$bs[]=$row['b'];
$cs[]=$row['c'];
$ds[]=$row['d'];
$es[]=$row['e'];
}
foreach($as as $x)
{
  $name=$x;
}....................and so on

我已经通过多种方式进行了检查和调试。我注意到脚本在while循环后没有执行。

4 个答案:

答案 0 :(得分:1)

你忘了在变量之前写$:

$as[]=$row['a'];
^------------
bs[]=$row['b'];
cs[]=$row['c'];
ds[]=$row['d'];
es[]=$row['e'];

答案 1 :(得分:0)

使用array_push()怎么样?另外,使用print_r()作为$ []以及你获得的所有数组并将输出粘贴到此处,以便我们更清楚地了解问题究竟是什么。

答案 2 :(得分:0)

试试这个并告诉我们打印什么print_r()函数,以便我们可以识别问题。

while ($row = mysqli_fetch_array($result))
{
$as[]=$row['a'];
$bs[]=$row['b'];
$cs[]=$row['c'];
$ds[]=$row['d'];
$es[]=$row['e'];
}
print_r($as);
foreach($as as $x)
{
  $name=$x;
}

答案 3 :(得分:0)

首先从$as[]移除括号,$row['a']的结果将不是数组。

这就是foreach无效的原因,你没有得到阵列。

如果生成的$as为空,但数据库中有内容,请确保rownames有效。 使用$row[0]代替$row['A']

使用print_r($row)调试代码,以查看结果的内容。