Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/06/2007, 16h55   #1
Invité de passage
 
Inscription : février 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 7
Points : 2
Points : 2
Par défaut [SQL] Vérifier qu'il n'existe pas dans la base

Bonjour,
Je crée un espace membre sur mon site.
Tout le monde peut s'inscrire mais je ne sais pas comment vérifier qu'un nom n'est pas déjà dans la base de données.
Merci de vos réponses.
Nemrod13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/06/2007, 17h01   #2
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Tu fais une requete dans ta table de membres en recherchant le nom choisi. Si tu as des résultats c'est qu'il est déjà présent sinon c'est qu'il est disponible.
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/06/2007, 17h01   #3
Membre du Club
 
Inscription : avril 2007
Messages : 121
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 121
Points : 61
Points : 61
Salut,

Il te suffit de faire une requete sql qui recupere toutes les lignes du champ que tu souhaite verifier.

Par exemple, si tu veux verifier que le nom n'existe pas, tu fais une requete du genre :
Code :
select * from adherent where nom = 'ta variable';
Ensuite, tu compte le nombre de reponse que ca te retourne.

Si sa te retourne un truc superieur à 0, c'est que ton utilisateur existe deja.
audran12 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/06/2007, 17h01   #4
Membre habitué
 
Inscription : mars 2007
Messages : 210
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : mars 2007
Messages : 210
Points : 114
Points : 114
je suppose que tu recupere le nom par un post

Code :
1
2
3
4
5
6
7
8
9
10
 
$login=$_POST['login'];
$sql='select * from matable where login='.$login;
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
if ($row[0]='') // n'existe pas
   //tu peux l'inserer
else{
   //existe
}
un truc dans le genre^^
xclam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/06/2007, 17h02   #5
Membre du Club
 
Inscription : avril 2007
Messages : 121
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 121
Points : 61
Points : 61
voila, en gros c'est la meme chose que le code de xclam
audran12 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/06/2007, 17h03   #6
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 686
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 686
Points : 5 451
Points : 5 451


Tu peux faire une recherche avec le nom donné à l'inscription dans ta table. Si la requête renvoie quelque chose, c'est que le nom est déjà pris et tu peux renvoyer un message d'erreur.

voilà, bon courage !

EDIT : bon, là je crois qu'il ya assez de réponses
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/06/2007, 17h05   #7
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Plutôt que de faire un select * il vaut mieux faire un select sur un champ basique (id) ça ira plus vite. Et après c'est plus propre d'utiliser mysql_num_rows sur le résultat de la requête..
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/06/2007, 17h12   #8
Invité de passage
 
Inscription : février 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 7
Points : 2
Points : 2
merci pour toutes vos réponses... je crois que la fatigue l'a emporté sur mon raisonnement...
Nemrod13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/06/2007, 17h13   #9
Membre habitué
 
Inscription : mars 2007
Messages : 210
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : mars 2007
Messages : 210
Points : 114
Points : 114
Citation:
Envoyé par Amara
Et après c'est plus propre d'utiliser mysql_num_rows sur le résultat de la requête..
Oui mais j'ai fait un copier/coller en vitesse. fetch_assoc et $row[0] ca va pas trop trop ensemble^^
xclam est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h34.


 
 
 
 
Partenaires

Hébergement Web