我有一个包含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循环后没有执行。
答案 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)
调试代码,以查看结果的内容。