2

快速 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";
}  

我的结果看起来与此类似:

用户名 | 用户名 | 名字 | 姓

    1 1 用户名 用户名 名 名 姓 姓

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

4

1 回答 1

3

您正在从PDO fetchall返回一个数字和一个名称索引值。要仅获取数字索引:

$rowarray = $statement->fetchall(PDO::FETCH_NUM);
于 2011-12-05T22:56:12.153 回答