1

さて、mysql テーブルから Key 値の配列を取得しようとしていますが、mysql_fetch_array() が正しく動作していないようです。コード:

                        $x="select id from topics"
                    $set=mysql_query($x);
                    echo mysql_num_rows($set);
                    print_r(mysql_fetch_array($set));
                    $ids=mysql_fetch_array($set);
                    echo $ids[0];
                    echo $ids[1];

私はすべてのものを移動しましたが、何も出力を変更していないようです:

66 //結果セットの値の数

Array ( [0] => 3 [id] => 3 ) //配列に移動される値(単数)

4 //上記の配列の想定される単一の値

ここで何が起こっているのか本当にわかりません...

4

1 に答える 1

3

mysql_fetch_array単一の行を、列名と 0 から始まるインデックスでインデックス付けされた PHP 配列として返します。セット全体を巨大な配列にロードしません。これはあなたが期待しているようです。

次のように、結果セットをループで反復処理する必要があります。

$x="select id from topics";
$set = mysql_query($x);
echo mysql_num_rows($set);
$giant_list_of_ids = array();
while ($row = mysql_fetch_array($set))
{
    echo $row[0]; //or alternatively, echo $row['id'];
    $giant_list_of_ids[] = $row[0];
}
于 2012-11-06T02:37:38.730 に答える