Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PDO
PDO Forum d'entraide sur PDO (PHP Data Objects) : pilote générique de bases de données avec PHP. Avant de poster -> FAQ PDO et Cours PDO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/05/2006, 12h25   #1
Nouveau Membre du Club
 
Inscription : décembre 2005
Messages : 215
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : décembre 2005
Messages : 215
Points : 39
Points : 39
Par défaut PDO et requête paramétrée

Bonjour à tous,
je viens de découvrir la nouvelle classe PDO depuis PHP 5.1, mais je rencontre quelques petits soucis.

J'essaye de mettre un paramètre à une requête et d'ensuite l'initialiser avec la fonction PDOStatement::bindParam(), mais rien ne se passe :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
$ID = 1;
 
$requete = "SELECT    *
                 FROM      v_nouveautes
                 WHERE    IDNouveaute = :id";
 
$stmt = $this->db->prepare($requete);
$stmt->bindParam(":id", $ID, PDO::PARAM_INT);
$stmt->execute();
 
echo "<pre>";
print_r($stmt);
echo "</pre>";
Il m'affiche :
Code :
1
2
3
4
5
6
7
 
PDOStatement Object
(
    [queryString] => SELECT    *
             FROM    v_nouveautes
             WHERE    IDNouveaute = :id
)
au lieu de :
Code :
1
2
3
4
5
6
7
 
PDOStatement Object
(
    [queryString] => SELECT    *
             FROM    v_nouveautes
             WHERE    IDNouveaute = 1
)
Quelqu'un aurait une solution ?
ToxiZz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/05/2006, 12h33   #2
Membre expérimenté
 
Inscription : octobre 2004
Messages : 872
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 872
Points : 582
Points : 582
salut
il faut pas mettre
Code :
$stmt->bindParam("id", $ID, PDO::PARAM_INT);
':'
jeff_! est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/05/2006, 13h02   #3
Nouveau Membre du Club
 
Inscription : décembre 2005
Messages : 215
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : décembre 2005
Messages : 215
Points : 39
Points : 39
Dans la doc php il mette qu il faut les deux point !

http://be2.php.net/manual/fr/functio...-bindparam.php

et de toute facon ca marche encore moins qu'en y a pas les deux point !!
ToxiZz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/05/2006, 13h13   #4
Nouveau Membre du Club
 
Inscription : décembre 2005
Messages : 215
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : décembre 2005
Messages : 215
Points : 39
Points : 39
Ok j'ai trouvé !

il faut faire le $row = $stmt->fetch(); avant que le parametre soit initialiser.

Et ca retourne false si il n'y a pas de resultat !
ToxiZz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/05/2006, 13h19   #5
Membre expérimenté
 
Inscription : octobre 2004
Messages : 872
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 872
Points : 582
Points : 582
autant pour moi et pourtant je l'utilise le pdo
jeff_! est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h22.


 
 
 
 
Partenaires

Hébergement Web