1

SQL クエリをテーブルに直接出力しようとしています (結果を変数に割り当てずに)。ここに私が持っているものがあります:

<?php
$query = 'SELECT * FROM sites';
$result = mysql_query($query);

echo '<table>';

$count = 0;

while($row = mysql_fetch_array($result)) {

    echo '<tr>';
    $count = $count + 1;
    if($count == 1) {                //Header row
        foreach($row as $name => $value) {
            echo '<th>' . $name . '</th>';
        }
        echo '</tr/><tr>';
    }

    foreach($row as $name => $value) {   //Data rows
        echo '<td>' . $value . '</td>';
    }
    echo '</tr>';
}
echo '</table>';

ただし、結果では、次のように二重の列が表示されます。

0 | ID | 1 | URL | 2 | startDate | etc
1 | 1  | a | a   | b | b         | etc

いくつかのサンプル行を次に示します。

Array ( [0] => 1 [ID] => 1 [1] => dadf [URL] => dadf
        [2] => asdf [startDate] => asdf [3] => [server] =>
        [4] => asdf [paymentStatus] => asdf
        [5] => [hostingType] => [6] => [hostingPlan] => ) 

Array ( [0] => 2 [ID] => 2 [1] => hihi [URL] => hihi.com
        [2] => [startDate] => [3] => [server] =>
        [4] => [paymentStatus] => [5] => [hostingType] =>
        [6] => [hostingPlan] => )

これらの番号付きの重複列がどこから来ているのかわかりません。もちろん、それらはデータベースには存在しませんが、結果行にはあります。たぶん、私がやろうとしていることとはまったく異なる方法がありますか?

4

1 に答える 1

2

mysql_fetch_arrayを読む

result_type非推奨であることに関する部分は興味深いですが、おそらくパラメーターを見て渡したいと思うでしょうMYSQL_ASSOC

1回の呼び出しでこれを行う同等の(これも非推奨の)関数があります:

mysql_fetch_assoc

于 2013-09-20T21:55:28.083 に答える