2

PHP/MySQL に関する簡単な質問:

MySQL データベース テーブルのデータを HTML テーブルとして表示しようとしていますが、何らかの理由でコードが各データの出力を 2 倍にしています。

これは私のコードです:

$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 ステートメントを使用する場合のみです。

4

1 に答える 1

3

PDO fetchallから、数値と名前でインデックス付けされた値の両方を取得しています。数値インデックスのみを取得するには:

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