Perchè usi un ciclo while?

Immagino che id sia unico nel database e quindi la query dovrebbe restituire una sola riga di valori.

In ogni caso dovrebbe essere

http://bcgen.com/demo/linear-dbgs.aspx?D=<?php echo $rand ?>