PHP:使用fetchall()显示表数据

时间:2011-12-05 22:50:57

标签: php mysql arrays fetchall

快速PHP / MySQL问题:

我正在尝试将MySQL数据库表中的数据显示为HTML表格,并且出于某种原因,我的代码将每个数据的输出加倍。

这是我的代码:

$rowarray = $statement->fetchall();
print "<tr>\n";  
foreach ($rowarray as $row) {
    foreach ($row as $col) {
        print "\t<td>$col</td>\n";
    }
    print "</tr>\n";
}  

我的结果与此类似:

用户ID |用户名|名字|姓氏

1 1用户名用户名名字名字姓氏姓名

等等你明白了。为什么会这样?顺便说一句,如果我通过引用row []下标0-3来手动添加列信息,那么一切都会正确显示;只有在我使用嵌套的foreach语句时才会复制数据。

1 个答案:

答案 0 :(得分:3)

您从PDO fetchall返回数字和名称索引值。要获得数字索引:

$rowarray = $statement->fetchall(PDO::FETCH_NUM);