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 :

Call to a member function fetch() on a non-object


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Juillet 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2014
    Messages : 23
    Par défaut Call to a member function fetch() on a non-object
    Bonjour à tous,

    Après plusieurs jours de recherches, je n'arrive pas à résoudre le message d'erreur renvoyé :

    Voici le bout de code concerné :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $motdepasse = $_POST['mdp_contact'];
    $emailcontact = $_POST['email_contact'];
    $req = $bdd->query('SELECT * FROM societe WHERE mdp_contact = ' . $motdepasse .' AND email_contact = ' . $emailcontact);
    $donnees = $req->fetch(); // ligne 86
    $id = $donnees['id'];
    echo $id;
    Et voici le message d'erreur envoyé :

    Fatal error: Call to a member function fetch() on a non-object in /flex/domain/le-crowdfunding.com/site/www/partenaires/adminpartenaires.php on line 86
    Quelqu'un peut-il m'aider SVP ?

    Merci.

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2014
    Messages : 31
    Par défaut
    Bonjour,

    Si tu as cette erreur c'est que ta requête ne fonctionne pas.

    Que te renvoie l'erreur MySql?

  3. #3
    Membre averti
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Juillet 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2014
    Messages : 23
    Par défaut
    En fait, je n'ai pour ainsi dire pas de message d'erreur SQL.
    Le contexte est le suivant :
    - Je viens d'une page index pour me connecter à mon interface.
    Je rentre donc un login et un password. Je souhaite vérifier dans la base et plus précisément la table société que le login et le pwd correspondent bien.
    Si c'est le cas, je souhaite récupérer l'id de la société concernée pour ensuite le stocker dans une variable.

    Grâce à cette info, je vais pouvoir afficher des stats issues d'une table qui compte les clics et ce pour le site correspondant à l'id stocké.

    Et malheureusement, le message d'erreur indiqué est le seul que j'ai. Je n'en ai pas d'autres.

    J'espère que mes explications sont claires.

    Merci pour tout.

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2014
    Messages : 31
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print_r($req->errorInfo())
    ça t'affiche les erreurs Sql


    Edit: Tu n'es pas dans le bon forum pour les problèmes avec les requêtes.

  5. #5
    Membre averti
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Juillet 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2014
    Messages : 23
    Par défaut
    Ca n'affiche rien de plus :-(
    J'ai aussi essayé avec echo.

  6. #6
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2014
    Messages : 31
    Par défaut
    Tu utilises PDO ? Comment est ta connexion vers ta BDD?

  7. #7
    Membre averti
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Juillet 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2014
    Messages : 23
    Par défaut
    Oui j'utilise PDO.

    Voici le code de ma connexion. J'ai volontairement enlevé le login et le pass :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    try{
    	$bdd = new PDO('mysql:host=XXXXXXXX.sql-pro.online.net;dbname=xxxxxxxxxx', 'LOGIN', 'PASS');
    }
    catch(Exception $e){
            die('Erreur : '.$e->getMessage());
    }
    ?>

  8. #8
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2014
    Messages : 31
    Par défaut
    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
    $motdepasse = $_POST['mdp_contact'];
    $emailcontact = $_POST['email_contact'];
     
    $requete = $bdd->prepare("
                SELECT * 
                FROM societe 
                WHERE mdp_contact = :mdp
                AND email_contact = :mail
            ");
    $requete->bindValue(':mail', $emailcontact);
    $requete->bindValue(':mdp', $motdepasse);
    $requete->execute(); $result = $requete->fetch(PDO::FETCH_ASSOC); 
     
    // Affichage erreur
    print_r($requete->errorInfo());

  9. #9
    Membre averti
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Juillet 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2014
    Messages : 23
    Par défaut
    J'ai continué à chercher en parallèle et j'ai réussi à faire afficher un message d'erreur SQL. Le message est le suivant :

    Array ( [0] => 42000 [1] => 1064 [2] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@lymo.fr' at line 1 ) 1
    Il semblerait donc que l'utilisation d'une adresse email comme identifiant fasse bogguer le script.

    Je vais regarder en ce sens et je ne t'embête pas plus.

    Merci pour ton aide et désolé d'avoir posté ce message dans la mauvaise rubrique. Je pensais réellement que c'était du code php.

    A++

  10. #10
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req = $bdd->query('SELECT * FROM societe WHERE mdp_contact = ' . $motdepasse .' AND email_contact = ' . $emailcontact);
    Tu ne crois pas que ça pourrait être opportun de mettre des quotes autour des valeurs de tes champs puisqu'ils sont manifestement de type VARCHAR ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  11. #11
    Membre averti
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Juillet 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2014
    Messages : 23
    Par défaut
    Merci Bovino.

    Je vais essayer. Ce sont des erreurs de débutants, je sais. Et en même temps, il ne faut pas m'en vouloir. J'en suis un. ;-)

    Merci.

    Bonne fin de journée.

Discussions similaires

  1. [MySQL] Problème de INNER JOIN + Call to a member function fetch() on a non-object in
    Par jlee_xxx dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 05/03/2012, 11h15
  2. [MySQL] Fatal error: Call to a member function fetch() on a non-object
    Par tonnebrre dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 24/10/2011, 12h46
  3. [SQL-Server] Call to a member function fetch() on a non-object
    Par geo54 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 07/05/2010, 23h05
  4. [PDO] Erreur PDO : Call to a member function fetch() on a non-object
    Par numerodix dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 01/03/2010, 17h37
  5. [PDO] Fatal error: Call to a member function fetch() on a non-object
    Par blopjerem dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/12/2009, 10h53

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