M.Schmidt: MYSQL Verständisfrage

Beitrag lesen

[Feld1] [Feld2] [Feld3]
  1        3       1
  2        0       1
  3        3       1
  4        0       1
  5        1       1
  6        0       2
  7        0       2
...

$query = @mysql_query("SELECT Feld2 FROM Tabell1 WHERE Feld3 = '1'");

Ich hätte ich gern die Werte von Feld2, darum hab ich folgenes probiert:

$Temp = @mysql_fetch_array($query);

und wollte die werte mit:

for ($i=0;$i<=11;$i++)
    {
       echo $Temp[$i]" ausgeben
    }

ausgeben.Da kam dann nur der erste Wert von der ersten Zeile, also die erste "3" raus, dann nix mehr. Wenn ich mit :

$i = 0;
            while($row = mysql_fetch_array($query))
            {
             $$Temp[$i] = $row['Feld2'];
             $i++;
            }
ausprobiere und dann die $Temp[$i] Werte ausgebe funktionierts, meine Frage: Warum ? bzw Warum geht die erste Variante nicht ???

Dank im Vorraus
M.Schmidt