Recherche de doublons en base

titoon
Invité n'ayant pas de compte PHPfrance

07 avr. 2006, 16:22

Bonjour,

J'ai généré dans une colonne de ma table (base sql) des mots de passe pour mes cher(e)s utilisateurs et utilisatrices. Comment vérifier que je n'ai pas de doublons ? Y a t-il une autre façon de faire ? J'ai entendu la solution insertion en "clé primaire". Que se passerait-il si le script génère 2 fois le même mot de passe ? Le second est zappé/rejeté ou le script regénère aussitôt un nouveau mot de passe ?

Merci à vous et bon week-end à tous

titoon

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

07 avr. 2006, 16:28

Tu peux faire une requête qui compte les occurrences de chaque mot de passe
utilise COUNT et GROUP BY

Mais je ne vois pas où est le problème d'avoir 2 fois le même mot de passe, c'est le login qui identifie normalement.

ViPHP
ViPHP | 656 Messages

07 avr. 2006, 18:17

En clé primaire, 2 fois n'est pas possible, donc tu peu utiliser ceci. Le script te renvoi une erreur que tu peut utiliser pour renvoyer un nouveau mot de passe. Ceci en boucle jusqu'a ce que le mot de passe soit accépté. Cela dit je ne suis pas sûr que ce soit la meilleur methode.

A ta place je rechercherais si le mot de passe n'existe pas deja, et ensuite seulement je l'nsererais, dans le cas contraire, je renverais l'information que le mot de passe existe et qu'il faudrait en regeneré un.

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

07 avr. 2006, 19:06

Pareil qu'ouckileou, il n'y a pas de problème à avoir deux fois le même mot de passe. Tu imagines quelqu'un qui s'inscrit et qui reçoit le message d'erreur "Désolé mais le mot de passe 'maman' est déjà pris, veuillez en trouver un autre" ? :roll:

Invité
Invité n'ayant pas de compte PHPfrance

12 avr. 2006, 15:58

Ok merci à tous mais pour une info unique c'est d'la clef primaire que je dois utiliser donc même si cette info vient plus tard dans ma base ?

titoon

ViPHP
ViPHP | 656 Messages

15 avr. 2006, 18:55

Il existe aussi l'attribut Unique mais je crois qu'on peut pas le combiner avec Primary, en tous cas PhPmyAdmin affiche un message en rouge bien que bizarement MySQL s'en moque et execute la requête.

Invité
Invité n'ayant pas de compte PHPfrance

19 avr. 2006, 09:45

Ok merci pour l'info ;)

ViPHP
ViPHP | 1024 Messages

19 avr. 2006, 09:53

Pareil qu'ouckileou, il n'y a pas de problème à avoir deux fois le même mot de passe. Tu imagines quelqu'un qui s'inscrit et qui reçoit le message d'erreur "Désolé mais le mot de passe 'maman' est déjà pris, veuillez en trouver un autre" ? :roll:
ça m'est arrivé lors de l'inscription à kochonland: http://kochonland.playmoa.com/
refus car mot de passe déjà utilisé

(je triche souvent aux jeux en ligne, mais là j'avais pas envie de tester les 150.000 inscrits de l'époque)

si tu n'as pas beaucoup d'inscrits et un listing public des inscrits, fait gaffe! ;)

A+

Pascal