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 on a non-object


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de nico le noob
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2009
    Messages : 132
    Par défaut Call to a member function on a non-object
    Bonjour et désolé de vous embêter avec un problème comme celui là mais j'ai une erreur dont je n'arrive pas à me sortir (toute bete surement) mais je suis toujours en local d'habitude et là chez mon hébergeur en "plastique" la fonction ne fonctionne pas ??

    Normalement je fais plusieurs tests avant de venir demander de l'aide mais là mon accès a ma base de données via PHPMyAdmin met plusieurs minutes à s'ouvrir donc pas facile d'être efficace ! j'ai pris un vrai hébergement chez OVH ce matin mais la mise en place de celui ci peut mettre jusqu'à 48h et je n'arrive pas à passer à autre chose tant que je n'ai pas solutionné le problème...

    Passons au probleme:

    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
      $req = $bdd->prepare('SELECT id FROM membre WHERE login=:identifiantInscription');
      $req->execute(array('identifiantInscription'=>$identifiantInscription));
      if($req->rowCount()>0)
      {
        $valid = false;
        $erreurid = 'Cet identifiant est déjà pris';
      }
      
      $req = $bdd->prepare('SELECT id FROM membre WHERE email=:email');
      $req->execute(array('email'=>$email));
      if($req->rowCount()>0)
      {
        $valid = false;
        $erreurid = 'Cette adresse e-mail est déjà utilisée par un membre';
      }
    L'erreur viendrait de la ligne mise en surbrillance et je re-précise encore que ça marche très bien sous wamp.

    Merci de l'aide que vous pourriez m'apporter

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Savoir que ça ne marche pas à cet endroit est une chose mais ça serait peut être bien d'aller en chercher l'explication :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req->execute(array('email'=>$email)) or die(print_r($req->errorInfo(), TRUE));
    Mais il y a plus d'une façon de faire avec PDO et le code est incomplet.

    Vous faites un SELECT mais n'utilisez pas l'éventuelle information demandée. Autant utiliser SELECT COUNT/fetchColumn que SELECT/rowCount puisque certains pilotes demanderaient préalablement un closeCursor ici.

  3. #3
    Membre confirmé Avatar de nico le noob
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2009
    Messages : 132
    Par défaut Bonjour julp et merci de ton aide,
    Bonjour julp et merci de ton aide,

    je suis allez me renseigner sur ta solution qui est probablement meilleur que la mienne mais l'erreur c'est déplace à la première ligne maintenant, voilà mon bout de code:
    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
      $req = $bdd->prepare('SELECT COUNT id FROM membre WHERE login=:identifiantInscription');
      $req->execute(array('identifiantInscription'=>$identifiantInscription));
      if($req->fetchColumn()>0)
      {
        $valid = false;
        $erreurid = 'Cet identifiant est déjà pris';
      }
     
      $req = $bdd->prepare('SELECT COUNT id FROM membre WHERE email=:email');
      $req->execute(array('email'=>$email));
      if($req->fetchColumn()>0)
      {
        $valid = false;
        $erreurid = 'Cette adresse e-mail est déjà utilisée par un membre';
      }
    j'ai essayé aussi SELECT COUNT(*) mais l'erreur est toujours là, quelques chose que j'ai mal fait ?

  4. #4
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Bonjour,

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT COUNT(id)

    et non

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT COUNT id

  5. #5
    Membre confirmé Avatar de nico le noob
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2009
    Messages : 132
    Par défaut Merci Madfrix pour ta reponse :)
    apparemment le problème est toujours présent.

    votre système fonctionne très bien sous wamp par contre, je me demande si le problème ne vient pas de l'hébergeur...

    Comme je l'ai dit plus haut je viens de changer et il va me falloir à peu près 48 heures pour pouvoir faire de vrai test.

    Je met donc le sujet en stand-by et ferais de nouveaux tests sur ma nouvelle adresse avant de re-poster et de vous déranger pour rien...

    En tout les cas merci pour votre aide

Discussions similaires

  1. [Joomla!] Erreur Call to a member function on a non-object
    Par tchaw dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 27/01/2010, 21h53
  2. [PHP 5.2] Problème : Call to a member function on a non-object
    Par Docteur_Hareng dans le forum Langage
    Réponses: 4
    Dernier message: 10/07/2009, 10h50
  3. Fatal error: Call to a member function on a non-object
    Par alemat13 dans le forum Langage
    Réponses: 6
    Dernier message: 31/12/2007, 17h22
  4. [POO] Call to a member function on a non-object
    Par Roromix dans le forum Langage
    Réponses: 3
    Dernier message: 25/04/2007, 14h40
  5. [phpToPDF] "Call to a member function on a non-object"
    Par pikatshu dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 16/04/2007, 18h47

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