te estas complicando demasiado, lo que pretendes es realmente sencillo...
Para escribir el archivo...
Código PHP:
Ver original<?php
$sql = 'SELECT * FROM mitabla';
$archivo = 'archivo.txt';
$handler = fopen($archivo,'a'); fwrite($handler,$row['mi_campo']); }
y para visualizarlo en el navegador solo es necesario hace un include('archivo.txt'); o si deseas forzar la descarga...
Código PHP:
Ver original<?php
$archivo = 'archivo.txt';
header('Content-Type: application/force-download'); header('Content-Disposition: attachment; filename='.$archivo); header('Content-Transfer-Encoding: binary');
include($archivo);