Ho appena provato e la funzione va a meraviglia... Magari é stato un errore casuale.
feof comunque serve a controllare che sia stata raggiunta la fine del file su un puntatore al file stesso, ed fread a leggerlo. Non hanno legami con il database ma sono normali funzioni booleane built-in del php.