Hola de nuevo.
 
Llevo probando toda la tarde el código y bueno... No saca ningún error e inserta todo en la base de datos menos la "surl", posteriormente lleva a la página de confirmación pero sin ningun valor puesto que no obtiene la "surl" creo que debe haber algun problema con la función, la he probado por partes, una a una, y con ninguna funciona. En que me estoy equivocando?  
 Código PHP:
    <?php
 
function getsurl() {
 
$regcountquery = "SELECT count(*) FROM wst_uss";
$regcountresult = mysql_query($regcountquery);  
$regcountshow = mysql_fetch_array($regcountresult); 
$regcount = $regcountshow[0];
 
if ($regcount <= "5") { $range = "2"; }
if ($regcount >= "6" && $regcount <= "10") { $range = "3"; } 
if ($regcount >= "11" && $regcount <= "20") { $range = "4"; } 
 
$surl = substr(str_shuffle('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'), 0, $range);
 
$existquery = "SELECT wst_surl FROM wst_uss WHERE wst_surl = '$surl'"; 
$existqueryresult = mysql_query($existquery);
$exist = mysql_num_rows($existqueryresult);
 
}
 
?>    
  Y la llamo así...  
 Código PHP:
    do {
    getsurl();
} while ($exist > 0);