PDO
Fermé
smileys
Messages postés
1
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
12 mai 2009
-
12 mai 2009 à 15:28
yveslands - 6 juil. 2009 à 12:37
yveslands - 6 juil. 2009 à 12:37
1 réponse
Salut,
ta syntaxe est bonne c'est juste que par défaut quand tu execute ta requête :
$this->selectAll->execute(array('debut'=>$debut, 'fin'=>$fin));
PDO bind les paramètre comme si c'était des chaîne de caractères alors que SQL lui veut un entier.
PDO par défaut fait un truc du genre :
SELECT * FROM `table` LIMIT "10", "20"
alors que la bonne syntaxe est :
SELECT * FROM `table` LIMIT 10, 20
sans guillemet.
La solution : utiliser la méthode bindParam et lui renseigner le type de la variable que tu lui envoie :
$objetPDO->bindParam(':debut', $debut, PDO::PARAM_INT);
$objetPDO->bindParam(':fin', $fin, PDO::PARAM_INT);
et ensuite un petit $objetPDO->execute(); et ça devrait fonctionner.
ta syntaxe est bonne c'est juste que par défaut quand tu execute ta requête :
$this->selectAll->execute(array('debut'=>$debut, 'fin'=>$fin));
PDO bind les paramètre comme si c'était des chaîne de caractères alors que SQL lui veut un entier.
PDO par défaut fait un truc du genre :
SELECT * FROM `table` LIMIT "10", "20"
alors que la bonne syntaxe est :
SELECT * FROM `table` LIMIT 10, 20
sans guillemet.
La solution : utiliser la méthode bindParam et lui renseigner le type de la variable que tu lui envoie :
$objetPDO->bindParam(':debut', $debut, PDO::PARAM_INT);
$objetPDO->bindParam(':fin', $fin, PDO::PARAM_INT);
et ensuite un petit $objetPDO->execute(); et ça devrait fonctionner.
6 juil. 2009 à 12:37