Bonsoir à tous,
Je suis en train de réaliser une boucle do while pour générer un hash unique de 4 caractères à mettre dans une sql.
La boucle sert à vérifier si le hash n'existe pas dans la base sinon on régénère un hash et on retest mais le problème est que j 'ai de temps en temps des doublons dans mes hash.
Voici mon code
do {
$caracteres = array("a", "b", "c", "d", "e", "g", "h", "k", "l", "m", "n", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", 1, 2, 3, 4, 5, 6, 7, 8, 9);
$caracteres_aleatoires = array_rand($caracteres, 4);
foreach($caracteres_aleatoires as $i) {
$hash .= $caracteres[$i];
}
$sql=mysql_query("SELECT count(id) FROM url WHERE hash ='$hash'" )or die(mysql_error());
$resultat = mysql_fetch_array($sql);
} while ($resultat[id] != 0);
Ensuite je fais un insert du hash ds la sql
Avez vous une idée sur le pourquoi j'ai des hash identique ?
Merci de votre aide