Il while sembra a posto, ma ti manca il $ davanti a query.= e dovrebbe essere la causa dell'errore che ricevi.
Regole del Forum