0

データベースからIDの配列を取得して、各IDをエコーアウトできるようにしようとしています。このようなもの:

$query = mysql_query("SELECT id FROM TableName WHERE field = 'test' ORDER BY id DESC") or die(mysql_error());

$row = mysql_fetch_array($query);

echo "array: ".$row[1]." <br>";
echo "array: ".$row[2]." <br>";
echo "array: ".$row[3]." <br>";

これは機能していないようですが?

4

2 に答える 2

2

問題は、mysql_fetch_arrayが0ベースのARRAYをフェッチすることです。データベースから単一のフィールドをフェッチしています。このフィールドは、結果配列の$row[0]に格納されます。行[1]から行[3]のみをエコーアウトしているため、結果は表示されません。

$row = mysql_fetch_array($query);
print_r($row);

あなたに与えるべきです:

Array (
    0 => 'id_field_value_here'
)

echo $row[0]

また出力します

id_field_value_here
于 2012-05-08T21:40:49.410 に答える
1

mysql_fetch_array1行をフェッチします。あなたは次のようなことをする必要があります

...
$res = array();
while ($row = mysql_fetch_array($query))
{
  $res[] = $row;
}
//now $res[0] - 1st row, $res[1] - 2nd, etc  
于 2012-05-08T21:39:16.663 に答える