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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    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
    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 très actif
    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
    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 confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    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
    Billets dans le blog
    12
    Par défaut
    Salut,

    il faudrait que tu postes le code de connexion_bdd.php

  4. #4
    Membre habitué
    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
    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
    Membre habitué
    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
    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 confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    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
    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
    Membre habitué
    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
    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 confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    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
    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;'

+ 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