2011-12-05 28 views
2

クイックPHP/MySQLの質問:PHP:fetchAllのを使用して、テーブルのデータを表示する()

私はHTMLテーブルとしてMySQLデータベースのテーブルからデータを表示しようとしている、といくつかの理由のために私のコードは、の出力を倍増各データ

これは私のコードです:

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

は私の結果はこれと似たものに見える:

ユーザーIDを|ユーザー名|ファーストネーム|姓

                                                   ユーザー名     ユーザー名         姓         姓         姓         姓

などなどあなたのアイデアを得ます。なぜこれが起こっているのですか?ちなみに、row []添字0-3を参照して列情報を手動で追加すると、すべてが正しく表示されます。データが重複しているというネストされたforeachステートメントを使用するときだけです。

答えて

3

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

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

それがあります!どうもありがとうございました。 –

+0

あなたは大歓迎です! – jeroen

関連する問題