forse rand ritorna un numero sempre troppo piccolo per uscire dal ciclo.

prova con soltanto $band = rand(1,$recordcount); e non più usare il ciclo.