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 :

fetch_assoc() retourne n-1 résultat [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2009
    Messages : 4
    Par défaut fetch_assoc() retourne n-1 résultat
    Bonsoir,

    Voici le morceau de code et je m'explique ensuite :

    dans mon fichier index.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $resultat = $bd->authentification($idUser, $password);
    $ligne = $resultat->fetch_assoc();
    echo $ligne['idUser'];
    echo $ligne['password'];
    dans ma classe bd.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public function authentification ($idUser, $password) {
        $query = "SELECT * FROM utilisateur WHERE `idUser`='$idUser' AND  
                     `password`='$password'";
        $resultat = $this->bd->query($query);
     
        return $resultat;
    }
    Mon but est de vérifier la présence d'un utilisateur dans ma base de données en fonction de l'id utilisateur et du mot de passe. Je pense que je prend le mauvais chemin pour effectuer cette vérification.

    Ce que mon code fait c'est récupérer l'idUser et le mot de passe pour vérifier si l'utilisateur existe dans la base de données (la requête fonctionne bien en sql direct). Si la requête s'est exécutée correctement, $resultat récupère l'association pour ensuite être traité et $resultat est vide s'il n'y a aucun résultat.

    Le problème étant qu'avec un résultat d'une seule ligne ça n'affiche rien mais un résultat avec plusieurs ligne j'ai un affichage...

    Je pense qu'il y a plus simple pour faire cette vérification. Pouvez-vous m'aider à résoudre ce problème ?

    Merci pour toutes vos réponses

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Etrange.
    Essai de faire un var_dump($resultat);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2009
    Messages : 4
    Par défaut
    Merci pour ta réponse ^^

    Après un var_dump($resultat) j'ai toujours aucun effet

    Quelqu'un aurait-il une autre solution ?

    Merci

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    heu var_dump() n'est pas censé corriger ton problème mais afficher le contenu de la variable.
    Il est en effet interessant de connaitre precisemment la valeur de $resultat quand ton script ne retourne pas de resultat de requete.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2009
    Messages : 4
    Par défaut
    D'accord! Donc voilà ce qu'affiche var_dump($resultat) :

    object(mysqli_result)#3 (0) { }

    Qu'en dis-tu ?

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu devrais faire un echo $query juste apres ta requete et t'assurer dans phpmyadmin que tu as bien un resultat.

    Si ca fonctionne bien dans phpmyadmin, met nous un dump de ta table utilisateur pour qu'on puisse simuler exactement la meme chose que toi.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2009
    Messages : 4
    Par défaut
    C'est bon j'ai résolu le problème !

    Le code est correct mais je t'ai pas indiqué le contexte du code qui, en fait, posé problème.

    Alors au début j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('WWW-Authenticate: Basic realm="Espace"');
    et après connexion à la BDD j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $idUser = $_SERVER['PHP_AUTH_USER'];
    $password = $_SERVER['PHP_AUTH_PW'];
    Donc là tout va bien sauf que pour $password au lieu de mettre PHP_AUTH_PW, j'ai mis PHP_AUTH_USER.

    Merci le copié/collé :s

    En tout cas merci à toi de m'avoir aidé.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/04/2011, 17h18
  2. e.newvalues ne retourne pas de résultat
    Par amen_1919 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 12/06/2009, 16h53
  3. Dataset retourne les mêmes résultats
    Par lebdenat dans le forum C++Builder
    Réponses: 2
    Dernier message: 30/04/2006, 17h37
  4. [Oracle] oci_num_rows ne retourne pas de résultat (0)
    Par osmoze dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 19/04/2006, 17h13
  5. [VB.NET] DataSet qui ne retourne pas de résultat
    Par Lois dans le forum Windows Forms
    Réponses: 4
    Dernier message: 02/06/2004, 17h07

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