Bonour,
Je voudrais donner un mot de passe aux usr qui s'incrive sur mon site (et donc sur la base de données).
Jusqu'a present, j'utilise la fonction rand() de php, et je fais un test sur la table MySQL pour verifier que la valeur n'est pas deja attribuée.
Finalement.. j'ai l'impression que c'est idiot.
Est-ce qu'en une ligne du type :
Avec une condition d'unicité du type UNIQUE(mdp).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $requete="INSERT INTO matable (email, mdp) VALUES ('$email', ROUND(CEIL(1000000*RAND())))"; while (!mysql_query($requete)) { }
ca marche ?
Est-ce que ca va bien renvoyer un FALSE a mysql_query a cause de la condition d'unicite si la valeur aleatoire a deja ete attribué à un autre mdp ? (et donc retenter la requete avec un autre mdp, automatiquement ?)
Et surtout, est-ce que c'est plus rapide que de faire ma boucle en php qui genere un rand() et verifie avec un SELECT s'il existe deja ou non et qui ensuite fait l'INSERT ?
merci!
Partager