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 :

Erreur : Fetch_object() on a non-object [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 33
    Par défaut Erreur : Fetch_object() on a non-object
    Bonjour ,

    Je suis en train de créer un système de commentaire et je but sur la dernière étape sans trouver l'erreur.

    Je voudrais vérifier que un pseudo n'est pas déjà associé a une adresse mail ou qu'une adresse mail n'est pas déjà associé a un pseudo .

    Voici mon script :
    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
     
     
    $connexion = new mysqli(HOST_DB,USER_DB,MDP_DB,USE_DB);
    				if($connexion->error){
    					die('une erreur s\'est produite : '.$connexion->error);
    				}
    				// Méthode pour échapper tout les caractères afin de sécuriser le code
    				foreach (array('pseudo','courriel','formation','message') as $champ) {
    					$$champ = $connexion->real_escape_string($$champ);
    				}// Fin de la méthode
    				$sql ="SELECT COUNT (*) AS doublons FROM identification WHERE (pseudo = '$pseudo' AND mail <> '$courriel') OR (pseudo <> '$pseudo' AND mail = '$courriel')";
    				$resultats = $connexion->query($sql);
    				$result = $resultats->fetch_object();
    				if($result->doublons > 0){
    					echo '<h3> Ce pseudo ou cete adresse mail existe déjà avec un autre identifiant</h3>';
    				}
    				else{
    //Ensuite j'execute le script qui me permet de poster le message
    Voici le message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Fatal error: Call to a member function fetch_object() on a non-object in G:\wamp\www\v2b\avis.php on line 191
    Call Stack
    #	Time	Memory	Function	Location
    1	0.0012	431432	{main}( )	..\avis.php:0

    Merci d'avance pour votre aide.

  2. #2
    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
    Ca signifie probablement que ta requête a échoué : affiche les erreurs pour contrôler.

    Sinon tu peux faire simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE pseudo = '$pseudo' OR mail = '$courriel'
    si tu as plus d'un résultat, tu as un doublon.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 33
    Par défaut
    Oui le problème viens de ce bout de code pourtant j'ai bien vérifier que rien ne cloche mais a avoir la tête dans ce problème peut être que je ne vois pas tout .

    Comment faire pour afficher simplement une erreur PHP ?

    Ensuite avec la variante que tu me donne je ne vérifie plus le couple mail et pseudo mais juste pseudo ou mail.

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Ce n'est pas exactement une erreur PHP, mais l'erreur mysqli que tu dois afficher.
    Tu essayer quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $resultats = $connexion->query($sql) or die('Erreur sur la requête : '.$sql.' <br/>'.$connexion->error);
    Attention, cette façon d'écrire est un système de débug pour le dev. Il vaut mieux éviter de laisser ce genre de code dans le script final...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  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
    je ne vérifie plus le couple mail et pseudo mais juste pseudo ou mail.
    quel cas detecte ta requête que la mienne ne detecterait pas ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 33
    Par défaut
    Je viens de voir au niveau de l'erreur , du coup j'ai fait machine arrière est je viens de constaté que de la façon où j'ai fait mon code , si "Robert" créer un commentaire avec comme mail "test@test.fr" et que j'en créer un nouveau avec "Robert" et comme mail "essai@essai.fr" le nouveau profil ne se créer pas il y a juste le commentaires qui se créer .

    J'ai cherché un peu trop compliqué je pense en voulant vérifier de nouveau cette configuration.

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

Discussions similaires

  1. [MySQL] Fatal error: Call to a member function fetch_object() on a non-object in [.] on line 4
    Par Invité dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/08/2013, 15h00
  2. Réponses: 4
    Dernier message: 02/10/2009, 10h12
  3. Réponses: 3
    Dernier message: 08/02/2008, 20h02
  4. Réponses: 11
    Dernier message: 28/08/2007, 12h06
  5. [POO] Erreur Trying to get property of non-object
    Par Niouts dans le forum Langage
    Réponses: 14
    Dernier message: 13/09/2006, 10h09

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