Acá te paso una función para generar claves aleatorias de x dígitos:
Código PHP:
function randomText($length) {
$pattern = "1234567890abcdefghijklmnopqrstuvwxyz";
for($i = 0; $i < $length; $i++) {
$key .= $pattern{rand(0, 35)};
}
return $key;
}
la llamarías con $clave = randomText(8);
Luego que la tengas generada, tendrás que hacer una consulta en un bucle:
Código PHP:
$existe = true;
while($existe) {
<EJECUTAS CONSULTA> "select count(*) from xxx where hash = '$clave'"
if(<EXISTE LA CLAVE>) {
$clave = randomText(8);
} else {
$existe = false;
}
}