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 :

Utilisation de PDO [PDO]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 19
    Points : 19
    Points
    19
    Par défaut Utilisation de PDO
    J'ai un problème concernant l'utilisation de la méthode prepare de PDO dans mon application si quelqu'un peut m'aider!!!

    voici ma connection PHP -> Postgresql

    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
     
    <?php
    $login = '****';
    $mdp = '****';
     
    // Pour PostgreSQL
    $bdd = 'pgsql:host=localhost port=5432 dbname=**** user=**** password=****';
    	try {
    		$cnx = new PDO($bdd, $login, $mdp);		// création de la connexion
    		}
    	catch (PDOException $error) 
    	{
    		die("Erreur de connexion : " . $error->getMessage() );		//message erreur
    	}
    	//$cnx = null;  Fermeture de la connexion
    ?>


    Et voici la page qui utilise la méthode prepare:


    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
     
    <?PHP
     $appel = $_POST['nomappellation'];
     $cepage = $_POST['libellecepage'];
     $coul = $_POST['libellecouleur'];
     $mil = $_POST['millesisme'];
     $int=12;
     	include ('connectPDO.PHP');	
    			$numMax = 'Select max(code_appellation) from appellation';	
    			$numMax = $numMax + 1;	
    			$sql='Insert into appellation values (:num,:appel)';			
    			$stmt=$dbh->prepare($sql);  // soumet le modèle de la requète au SGBD
    			$stmt->execute(array(':num'=>$numMax, ':appel'=>$appel));
    								//-----------//
     
    ?>
    voici l'erreur :
    Code x : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Call to a member function prepare() on a non-object in C:\wamp\www\connectionPDOpost\vin.php on line 77



    Merci de votre aide...

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Points : 57
    Points
    57
    Par défaut
    c'est du vécu pour moi aussi!

    de plus tu as une seconde erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $stmt=$dbh->prepare($sql);  // soumet le modèle de la requète au SGBD

    c'est $bdd!

    petite astuce si ta connexion à PDO est stockée dans une varaible gobale comme tu fais. pour l'utiliser dans une classe il faudra tjrs mettre: global $bdd;
    (en faite il faut dire à ton script de trouver la variable super globale $bdd)

    Laurent

  3. #3
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 6
    Points : 8
    Points
    8
    Par défaut
    Faudrait savoir : tu utilises $stmt ou $cnx pour ton objet PDO ?

  4. #4
    Membre averti Avatar de BornBanane
    Homme Profil pro
    dev
    Inscrit en
    Mars 2007
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Mars 2007
    Messages : 284
    Points : 416
    Points
    416
    Par défaut
    C'est plutot comme ceci qu'il faut utiliser prepare :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $stmt = $bdd->prepare($sql);
    $bdd->prepare($stmt, array(':num'=>$numMax, ':appel'=>$appel));
    Smiley de Plomb 2009
    Anciennement FrancoisIT

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

Discussions similaires

  1. [PDO] Utilisation de PDO dans un contexte statique
    Par Rony Rauzduel dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 17/05/2013, 09h44
  2. [PDO] Utilisation de PDO dans une classe
    Par arthuro45 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 19/04/2012, 13h54
  3. [PDO] utilisation de PDO::ATTR_PERSISTENT
    Par redoran dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 28/02/2012, 11h40
  4. [PDO] Utilisation de PDO
    Par gorgoroth dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 23/01/2008, 17h31
  5. [PDO] Utilisation de PDO
    Par Yoteco dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 12/01/2007, 10h16

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