Ojo que el bucle originalmente es más largo, por eso el uso de $num_results. Pero aquí lo acorté para mostrar sólo lo que me está provocando problemas:
Código:
$numero = ""; while ($num_results > 0) { $numero = mt_rand(1000, 9999); $num_results = 0; } echo "El numerito es: ".$numero."<br>";