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


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 305
    Points : 115
    Points
    115
    Par défaut Fatal error: Call to a member function closeCursor() on a non-object
    Bonjour tout le monde, voilà j'ai une erreur : Fatal error: Call to a member function closeCursor() on a non-object in ../connectlog.php on line 57. c'est sur c'est à cause du $reponse->closeCursor(); mais je ne sais pas pourquoi. Voilà mon 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
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
     
    <?php
       session_start();
       $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
     
       $bdd = new PDO('mysql:host=localhost;dbname=nomdelabase', 'root', 'motdepasse', $pdo_options);
     
      // On met les variables utilisé dans le code PHP à FALSE (C'est-à-dire les désactiver pour le moment).
      $error = FALSE;
      $registerOK = FALSE;
     
     
     
      try
          {
    	  $motpasse = sha1($_POST['motpasse']);
    	  // On récupère tout le contenu de la table jeux_video
    	    $reponse = $bdd->prepare('SELECT identifiant,motpasse FROM utilisateur WHERE identifiant = ? AND motpasse = ?');
    	    $reponse->execute(array($_POST['identifiant'],$motpasse));
    	    $reponse = $reponse->rowCount();
     
     
    	  // mot de passe ou identifiant n'existe pas
    	  if($reponse == 0){
    	      if(strlen($_POST["motpasse"] == 0) OR strlen($_POST["identifiant"] == 0)){
    			  $error = TRUE;
    			  $errorMSG = "Tout les champs doivent être remplis !";
    			  $motpasse = NULL;
     
    	      }
     
     
    	  }
     
    	  elseif($reponse){
     
    		  // On met la variable $registerOK à TRUE pour que l'inscription soit finalisé
    		  $registerOK = TRUE;
    		  // On l'affiche un message pour le dire que l'inscription c'est bien déroulé :
    		  $registerMSG = "Identification réussie ! Vous allez être dirigé vers le site.";
     
    		  // On le met des variables de session pour stocker le nom de compte et le mot de passe :
    		  $_SESSION["identifiant"] = $_POST["identifiant"];
    		  $_SESSION["motpasse"] = $_POST["motpasse"];
    		  $_SESSION['identifiant']=$_POST['identifiant'];
    		  // Comme un utilisateur est différent, on crée des variables de sessions pour "varier" l'utilisateur comme ceci :
    		  // echo $_SESSION["login"]; (bien entendu avec les balises PHP, sinons cela ne marchera pas.
     
    	      }
     
     
          $reponse->closeCursor(); // Termine le traitement de la requête
     
          }
     
     
      catch(Exception $e)
          {
    	  // En cas d'erreur précédemment, on affiche un message et on arrête tout
    	  die('Erreur : '.$e->getMessage());
          }
     
     
     
      if($error == TRUE){ 
         ?>
            <p>
             <?php  echo "<p>Tout les champs doivent être remplis !</p>";?><br />
     
            </p>
        <?php
     
        header('Location: Acceuil.php');
      }
     
      if($registerOK == TRUE){ 
        ?>
            <p>
             <?php echo "<p>".$registerMSG."</strong></p>";?><br />
     
            </p>
        <?php
     
     
          header('Location: texloud.php'); 
     
       }
     
    ?>

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 40
    Points : 68
    Points
    68
    Par défaut
    Bonjour,

    d'après cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reponse = $reponse->rowCount();
    $reponse contient le nombre de lignes de ta requête. Il est donc normal que $reponse->closeCursor() ne fonctionne pas.

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

Discussions similaires

  1. Fatal error: Call to a member function closeCursor() on a non-object
    Par MrSoGood dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 20/06/2015, 12h51
  2. Réponses: 4
    Dernier message: 07/10/2009, 11h53
  3. Réponses: 4
    Dernier message: 02/10/2009, 10h12
  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. [PHP 5.2] Fatal error: Call to a member function bindValue() on a non-object
    Par TeraD dans le forum Langage
    Réponses: 4
    Dernier message: 23/06/2009, 00h20

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