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 :

Fatal error: Call to a member function fetch() on a non-object [PDO]


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2013
    Messages : 11
    Points : 6
    Points
    6
    Par défaut Fatal error: Call to a member function fetch() on a non-object
    Bonjour,

    J'ai changé d’hébergeur et depuis ce transfert, j'obtiens une erreur
    Fatal error: Call to a member function fetch(PDO::FETCH_OBJ) on a non-object
    Il ne veut pas de mon PDO, pourtant celui-ci est activé sur le serveur...

    Cette erreur me rend fou depuis plusieurs jours; est ce que quelqu'un à une piste de solution ?

    Merci pour votre aide.


    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?php
        session_start ();
        require_once('./admin/connexion_bdd.php');
        $sql =  'SELECT * ' .
                    'FROM textes ' .
                    'WHERE textes.id=2';
        $reponse = $bdd->query($sql);
            $texte = $reponse->fetch(PDO::FETCH_OBJ);
            $contenu1=$texte->contenu1;
            $contenu2=$texte->contenu2;
            $contenu3=$texte->contenu3;
            $contenu4=$texte->contenu4;
     
     
        $sql1 =  "SELECT * FROM photos";
            $reponse1 = $bdd->query($sql1);
            $photos = $reponse1->fetchAll(PDO::FETCH_OBJ);
        $count=0;
        $count2=0;
        $count3=1;
        $count4=0;
        foreach ($photos as $photo){
        $count+=1;
        ${'miniature'.$count}  = $photo->miniature;
        ${'photo'.$count}  = $photo->chemin;
        ${'title'.$count}  = $photo->titleEN;
        ${'alt'.$count}  = $photo->altEN;
        }

  2. #2
    Membre confirmé
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Points : 545
    Points
    545
    Par défaut
    As tu testé le renvois de la méthode query ? Si elle te renvoit false c'est normal que cela pète ensuite

  3. #3
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    il faudrait que tu postes le code de connexion_bdd.php

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2013
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Voici le contenu de connexion_bdd.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $bdd = new PDO('mysql:localhost;dbname=dbmascottegonflable', 'utilisateur', 'mot de passe');
    $bdd->exec("SET CHARACTER SET utf8");
    ?>

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2013
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Le echo $sql; me renvoie ça:

    Exception -> string(106) "SQLSTATE[42S02]: Base table or view not found: 1146 Table 'dbmascottegonflable.
    DoesNotExist' doesn't exist" SELECT * FROM textes WHERE textes.id=2
    Fatal error: Call to a member function fetch() on a non-object in /var/www/vhosts/mascotte-gonflable.com/httpdocs/indexen.php on line 24

  6. #6
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Si tu passes ta requêtes en direct sur le serveur, ça fonctionne ?
    Ta table existe bien sur ta base de données ?

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2013
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Oui, ma requête est correcte; elle me sort le bon résultat avec phpmyadmin.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     require_once('./admin/connexion_bdd.php');
        $sql = SELECT * FROM textes WHERE id=2;
    	echo $sql;
    En revanche, sur le message d'erreur sur le site apparaît:

    Parse error: syntax error, unexpected 'textes' (T_STRING) in /var/www/vhosts/mascotte-gonflable.com/httpdocs/indexen.php on line 17

  8. #8
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Il faute mettre des guillemets en PHP pour délimiter les chaînes de texte ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = 'SELECT * FROM textes WHERE id=2;'

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2013
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Oui effectivement merci; mais cela ne résoud pas le pb.

    Exception -> string(106) "SQLSTATE[42S02]: Base table or view not found: 1146 Table 'dbmascottegonflable.
    DoesNotExist' doesn't exist" SELECT * FROM textes WHERE id=2SELECT * FROM textes WHERE id=2
    Fatal error: Call to a member function fetch() on a non-object in /var/www/vhosts/mascotte-gonflable.com/httpdocs/indexen.php on line 23

  10. #10
    Membre confirmé
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Points : 545
    Points
    545
    Par défaut
    je comprend pas , si tu fais un echo de $sql tu devrais avoir une chaine de caractères c'est tout
    Il faut faire un echo de ton $bdd->query().

    L'erreur que tu obtiens est qu'il ne trouve pas la table 'dbmascottegonflable', or j'ai vu que c'était le nom de ta BDD, logique qu'il trouve pas la table

    le soucis viens avant l'éxecution de ta requette, peut-être le nom de ta BDD

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2013
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Vu que je site fonctionnait bien avant, je pense que cela vient d'une view dans la mesure où il indique:
    Base table or view not found: 1146 Table 'dbmascottegonflable.
    En revanche, je ne vois pas d'où sort cette vue ....

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2013
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    J'ai tout réinstallé et ça marche ...(résolu)

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

Discussions similaires

  1. [PDO] Fatal error: Call to a member function fetch() on a non-object
    Par CyberCat_ dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 20/03/2015, 07h54
  2. [MySQL] Fatal error: Call to a member function fetch() on a non-object
    Par Saoualah dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 14/07/2014, 09h30
  3. [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
  4. [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