Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
je n'arrive pas à récupérer un paramètre dans le SELECT de ma requête:
public function getQuestRep($numrep, $idQuestion)
{
$sql='SELECT q.question, q, q.rep:numrep
FROM question q
WHERE idQuestion=:idQuestion';
$result = $this->db->fetchRow($sql,array('numrep'=> $numrep, 'idQuestion'=>$idQuestion));
pour $idQuestion ça marche bien mais pour $numrep l'erreur suivante s'affiche "Message: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens "
$numrep est un chiffre (1,2,3 ...) et je voudrais que mon select varie : soit q.rep1 ou q.rep2 ...
Je tourne en rond depuis 2 jours (je pense que je ne connais juste pas la syntaxe) Help !!
Dernière modification par kentinus (11-05-2012 11:58:39)
Hors ligne
Tu ne peux pas le faire via un $bind, il faut que tu le fasse directement dans ta requête.
$sql='SELECT q.question, q, q.rep' . intval($numrep) . '
FROM question q
WHERE idQuestion=:idQuestion';
Je te conseille également de bien mettre les ':' dans ton tableau
array(':idQuestion' => $idQuestion);
Dernière modification par Roromix (11-05-2012 11:48:52)
Hors ligne
Un très grand merci à toi car je n'aurais jamais trouvé seul le intval() ... Par contre je ne mets jamais les ':' dans mes tableaux mais cela fonctionne toujours, pourquoi ?
Hors ligne
le intval c'est pour nettoyer la donnée.
Sans les ':' ça fonctionne aussi mais ça évite un traitement de les mettre.
Hors ligne