Bonjour à tous,
J'ai un soucis, uniquement de syntaxe, du moins je l'espère.
Voilà, je voudrais que ma fonction Zend effectue ce traitement sql :
Ceci fonctionne très bien dans mon SGBD (Postgres).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2UPDATE t SET c1=c1+10;
Mais lorsque que je fait :
La valeur de mon tableau, (via var_dump) est égale à "10" et non c1+10.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $db = Zend_Db_Table::getDefaultAdapter(); $where = $db->quoteInto('id_entities = ?', $id); $update = array("c1"=>"c1"+10); $this->update($update, $where);
Si je fait en sorte d'avoir une string dans mon tableau qui soit la même que celle requise en sql :
J'ai une erreur de type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $update = array("c1"=>'c1+'.10);
Pour des soucis de fiabilité de l'information je ne peux me permettre de d'abord sélectionner la valeur et ensuite mettre à jour la valeur sélectionnée + 10.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SQLSTATE[22P02]: Invalid text representation: 7 ERREUR: syntaxe en entrée invalide pour le type double precision : «c1+10 »
Merci de m'avoir lu,
SpaceInvader.
Partager