hola para mi el problema esta en como llamas al array, no se cual es el problema de ponerle el nombre, lo que haces es guardarlo en la variable que quieras, yo lo haria asi y me funciona muy bien:
Código PHP:
$a = 1;
$query = mysql_query("select campo1,campo2,campo3 from tabla") or die (mysql_error());
while($row = mysql_fetch_array($query))
{
$campo1['$a']=$row['campo1'];
$campo2['$a']=$row['campo2'];
$campo3['$a']=$row['campo3'];
//los muestro o hago lo que quiero
echo "$campo1['$a']";
echo "$campo2['$a']";
echo "$campo3['$a']";
$a = $a + 1;
}
de esta manera los datos se guardan en variables si las queres usar las llamas con el nombre y listo . fijate que las variables cambian su nombre con cada vuelta del loop con la variable $a, de esta forma todos los datos se guardan y no se sobreescriben..
bueno espero que te sea de ayuda