Hola,
Usemos tu analogia de ASP:
Código PHP:
while($row=mysql_fetch_array($query))
equivale a algo asi en ASP:
Código PHP:
while not rs.eof
$row['campo1']=rs('campo1')
$row['campo2']=rs('campo2')
$row['campo3']=rs('campo3')
rs.movenext // o rs.next no recuerdo
.. el resto de codigo del while
wend
Mas o menos, con errores de sintaxis.
En cristiano, mysql_fetch_array() copia al array $row los valores de los campos del registro actual del recordset y anvanza el puntero al siguiente registro del recordset. Si no hay siguiente, la siguiente vez que se llama devuelve false (como el flag eof).
Espero haber sido de ayuda.