Ho appena risolto mettendo nel controllo dello while il !==null, perchè ho trovato scritto su internet che con il diverso da true non funziona a volte...