Pues debes mirar tu propio código con más detalle...
¿Por qué pusiste ese ";" al final de la linea del while()?
Trata de no hacer Copy+Paste. Analiza lo que se ter propone, porque a veces dejamos ciertas cosas por omisión, o simplemente para ver si están atentos a lo que copian.
Quita el ";" de esa línea, y haz una
prueba de escritorio antes de ejecutar el script.