IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Vérifier si un pseudo existe (mysql et php) [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 74
    Par défaut Vérifier si un pseudo existe (mysql et php)
    Bonjour;

    J'ai fait un script pour vérifier au moment de la création d'un pseudo si celui ci existe déjà dans la base de données mysql ou non, à l'exécution je reçois le message suivant
    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given
    Le script est le suivant:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $pseudo = 'toto';
    $query = mysql_query("SELECT idClient FROM client WHERE pseudo = '$pseudo'");
    if(mysql_num_rows($query) == 1){
       // Pseudo déjà utilisé
       echo 'Ce pseudo est déjà utilisé';
       }else{
       // Pseudo libre
       mysql_query("INSERT INTO client (pseudo) VALUE ('$pseudo')");
    }

    Merci d'avance

  2. #2
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 351
    Par défaut
    Salut,

    Comme tu peux le voir dans la doc (http://www.php.net//manual/fr/function.mysql-query.php) :
    Pour les requêtes du type SELECT, SHOW, DESCRIBE, EXPLAIN et les autres requêtes retournant un jeu de résultats, mysql_query() retournera une ressource en cas de succès, ou FALSE en cas d'erreur.
    Ton code fonctionnera si ton SELECT retourne un résultat, puisque $query contiendra une ressource. Si le pseudo n'est pas présent dans la base, $query contiendra false et donc ton test sera invalide puisque mysql_num_rows attend une ressource et non un booléen.

    PS : mysql_query est obsolète et sera bientôt supprimée, pourquoi ne pas utiliser les extensions MySQLi ou PDOMySQL comme cela est conseillé dans la doc ?

  3. #3
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 74
    Par défaut
    salut
    En fait j'ai essayé d'utiliser PDO mais je n'arrivais pas à me connecter à la base de données ,désolée mais comment je vais faire alors ? je suis débutante en php et mysql et là il faut que j'avance dans mon stage,si vous avez des suggestions .

    merci

  4. #4
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Si je ne m'abuse, tu as surtout du mal à construire ta requête en passant du PHP au SQL...
    Essaie cela, ça devrait marcher.
    Prends le réflexe suivant :
    ' séparateur de PHP
    " guillemets internes dans du SQL
    PS : tu utilises bien un notepad++ ou un éditeur avec coloration syntaxique ? Sinon, tu vas en baver...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    $pseudo = 'toto';
    //et puisque tu débutes, prends l'habitude d'afficher ton sql après interprétation des variables PHP AVANT de l'envoyer
    //tu l'affiches, tu le copies colles, et tu vas tester dans ton phpmyadmin si ça passe
    $sql='SELECT idClient FROM client WHERE pseudo = "'.$pseudo.'"';
    echo $sql;
    /*$query = mysql_query($sql);
    if(mysql_num_rows($query) >0){
       // Pseudo déjà utilisé
       echo 'Ce pseudo est déjà utilisé';
       }else{
       // Pseudo libre
       $sql2='INSERT INTO client (pseudo) VALUE ("'.$pseudo.'")';
       echo $sql2;
       mysql_query($sql2);
    }
    */
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  5. #5
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 74
    Par défaut
    Salut;
    J'ai essayé le code que tu m'as envoyé ,il m'affiche le même message d'erreur ,en plus il m'affiche les requêtes sql sur ma page .


    j'utilise le notepad++

  6. #6
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Et donc ?
    tu as copié-collé la requête produite dans ton phpmyadmin, et là, il t'a dit exactement ce qui fait que ta requête est fausse ? C'est cela qui m'intéresse.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/12/2012, 10h56
  2. Réponses: 2
    Dernier message: 30/04/2012, 00h25
  3. vérifier si mail et pseudo existe deja dans bdd
    Par endelium dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 20/01/2012, 11h54
  4. [MySQL] Requête pour vérifier base de donné Mysql en php
    Par srab2pac dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 13/06/2008, 09h48
  5. requête mysql sous php
    Par remi59 dans le forum Débuter
    Réponses: 9
    Dernier message: 03/07/2003, 10h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo