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 :

PDO: Call to a member function setFetchMode() on a non-objec


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Développeur Web
    Inscrit en
    Juin 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Juin 2014
    Messages : 13
    Par défaut PDO: Call to a member function setFetchMode() on a non-objec
    Bonjour,

    je suis entrain de créer une page web en php, j'ai trouvé un grand problème lors de l'import des données à partir de base de données qui se trouve sur le serveur distant (phpmyadmin)
    le message d'erreur est le suivant :

    Fatal error: Call to a member function setFetchMode() on a non-object in /homez.47/acaconsu/www/contactnew/contact.php on line 13
    N.B mon travail fonctionne en local et ne fonctionne pas sur le serveur


    voila mon code source pour la classe connexion

    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
    <?php
    // Connection au serveur
    Class  Connexion
    {
     
     
      public  function connex()
      {
       try {
       $dns = 'mysql:host=blabla;dbname=blabla';
       $utilisateur = 'blabla';
       $motDePasse = 'blabla';
       $connection = new PDO( $dns, $utilisateur, $motDePasse );
       } catch ( Exception $e ) {
       echo "Connection à MySQL impossible : ", $e->getMessage();
       die();
       }
        return $connection;

    et la classe qui contient erreur est celle ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <Title>test</title>
    <link href="css/style2.css" type="text/css" rel="stylesheet" /> 
    </head>
    <body>
    <?php
     
    require('_class_contact.php');
    $contact=new Contact();
    $result=$contact->getALLcontacts();
    $result->setFetchMode(PDO::FETCH_OBJ);
    //$result1=$contact-> caculpagination();

    merci de me répondre

  2. #2
    Membre Expert

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par défaut
    Où es ton code de connexion à la base de données ?

  3. #3
    Membre averti
    Femme Profil pro
    Développeur Web
    Inscrit en
    Juin 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Juin 2014
    Messages : 13
    Par défaut
    Citation Envoyé par Spartacusply Voir le message
    Où es ton code de connexion à la base de données ?
    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
    <?php
    // Connection au serveur
    Class  Connexion
    {
     
     
      public  function connex()
      {
       try {
       $dns = 'mysql:host=aaaaaaaaaa;dbname=ggggggggggggg';
       $utilisateur = 'gggggggggg';
       $motDePasse ='jjjjjjjjj';
       $connection = new PDO( $dns, $utilisateur, $motDePasse );
       } catch ( Exception $e ) {
       echo "Connection à MySQL impossible : ", $e->getMessage();
       die();
       }
        return $connection;
     
       }
    }
    ?>

  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
    Ce n'est pas une terrible façon de faire que de créer une connexion pour chaque requête.

    Pour ton problème, commence par activer les erreurs PDO :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    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
    Quel est le rapport entre la classe contact que tu nous utilises et la classe connex que tu nous montres ?

    Au passage phpmyadmin n'est pas un serveur, c'est un script PHP.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre averti
    Femme Profil pro
    Développeur Web
    Inscrit en
    Juin 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Juin 2014
    Messages : 13
    Par défaut
    j'ai crée une classe __connexion ou je fais l'appel lors de chaque utilisation

    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
    <?php
    // Connection au serveur
    Class  Connexion
    {
     
     
      public  function connex()
      {
       try {
       $dns = 'mysql:host=mysql5-37.90;dbname=blabla';
       $utilisateur = 'blabla';
       $motDePasse = 'passssss';
       $connection = new PDO( $dns, $utilisateur, $motDePasse );
       } catch ( Exception $e ) {
       echo "Connection à MySQL impossible : ", $e->getMessage();
       die();
       }
        return $connection;
     
       }
    }
    ?>
    et j'ai utilisé la classe _class_contact qui contient tous les attributs et les fonctions que j''ai utilisé dans la classe contact :

    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
    <?php
    Class  Contact
    {
       private $id;
       private $Nom;
       private $Tel;
       private $Fax;
       private $Gsm;
       private $Categorie;
       private $Comment;
       private $Direct;
       private $Private;
       private $Email;
     
       function getALLcontacts()
       {
          require('__connexion.php');
          $con=new Connexion();
          $pdo=$con->connex();
          $contacts= $pdo->query("SELECT * FROM tbl_contact");
    	  return $contacts;
       }
     
    }
    ?>

    et voila la classe contact :
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <!DOCTYPE HTML>
    <HTML>
    <HEAD>
    <Title>test</title>
    <link href="css/style2.css" type="text/css" rel="stylesheet" /> 
    </head>
    <body>
    <?php
     
    require('_class_contact.php');
    $contact=new Contact();
    $result=$contact->getALLcontacts();
    $result->setFetchMode(PDO::FETCH_OBJ);
    //$result1=$contact-> caculpagination();
     
     
    ?>
    <div class="sect-all">
    <div class="tablo">
     <table id="tableau_contact">
       <?php
      while ($donnees=$result->fetch()){
        //echo '<pre>';print_r($donnees);die;
       ?>
     
      <tr class="ligne" align="left">   
         <td hiegth="15px"><?php echo  $donnees->Nom?> </td> 
         <td bgcolor="#dfdfdf"><?php echo  $donnees->Tel . '<br/> ' . $donnees->Fax?> </td>
         <td><?php echo  $donnees->Gsm?> </td>
    	 <td><?php echo  $donnees->Direct?> </td>
    	 <td bgcolor="#dfdfdf"><?php echo  $donnees->Private?> </td>
    	 <td hiegth="20px" ><?php echo  substr($donnees->Email, 0, 27);  echo "<br/>".substr($donnees->Email, 27,40); ?> </td>
         <td hiegth="20px"><?php echo  $donnees->Categorie?> </td>
      </tr>
     
      <?php }?>
     
       </table>
    </div>
    </div>
     
     
    </body>
    </html>
    et dans la classe index je fait appel à la classe contact :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <div id="milieu">
     
    	<?php
    	require('contact.php');
    	?>
    </div>
    </div>

Discussions similaires

  1. [PDO] Fatal error: Call to a member function setFetchMode() on a non-object
    Par cissok dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 11/02/2014, 16h16
  2. [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
  3. Réponses: 4
    Dernier message: 07/10/2009, 11h53
  4. [PDO] Fatal error: Call to a member function setFetchMode() on a non-object in
    Par tores20 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 28/07/2009, 23h04
  5. [PDO] Call to a member function setFetchMode() on a non-object
    Par magmus dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 18/11/2008, 22h05

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