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

  1. #1
    Membre à l'essai
    Femme Profil pro
    Développeur Web
    Inscrit en
    Juin 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Juin 2014
    Messages : 13
    Points : 10
    Points
    10
    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
    Avatar de Spartacusply
    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
    Points : 3 275
    Points
    3 275
    Par défaut
    Où es ton code de connexion à la base de données ?

  3. #3
    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
    Points : 44 155
    Points
    44 155
    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.

  4. #4
    Membre à l'essai
    Femme Profil pro
    Développeur Web
    Inscrit en
    Juin 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Juin 2014
    Messages : 13
    Points : 10
    Points
    10
    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>

  5. #5
    Membre à l'essai
    Femme Profil pro
    Développeur Web
    Inscrit en
    Juin 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Juin 2014
    Messages : 13
    Points : 10
    Points
    10
    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;
     
       }
    }
    ?>

  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
    Points : 44 155
    Points
    44 155
    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);

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