Bueno .. para empezar pordrías quitar los @ que usas para ver si PHP arroja algún error .. Despues usar estructuras tìpo:
$rs = mysql_query ($sql2, $link) or die(mysql_error());
para ver si hay errores en el SQL ( o de conexión ..)
A todo esto .. el array que formas es un array unidimiensinal .. por ende estás generando datos típo:
registro1 -> campo1registro1 -> campo2registro2 -> campo3registro2 -> campo1registro2 -> campo2registro2-> campo3
Todo en una linea y con ese orden .. cuando tal vez lo que quieres (lo más lógico) es generar un formato tipo CSV (campos separados por "comas" y registros por salto de línea...)
Para eso . usa \n como salto de línea ...
Tambien .. no sé para que quieres obtener un array .. para luego "tirarlo" a un archivo de texto .. cuando ese proceso lo puedes hacer en el mismo bulcle que usas para obtener los campos/registros de tu consulta realizada ...
Podrías simplemetne en tu bucle WHILE() hacer algo como:
Código PHP:
// abres tu archivo en modo escritura ...
$open=fopen("archivo.txt","w");
while(....)
$linea=$fila2[0].";".$fila2[1].";".$fila2[n]."\n";
fwrite($open,$linea);
} // cierre del while ..
fclose($open); // cierras tu archivo ..
Un saludo,
pf: Repasa el uso de fopen() y los atributos de lectura/escritura ..