Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Voilà, j'ai un problème super con lorsque je fais un update pour incrémenter un compteur...
//Requete SANS update() $db->query("UPDATE maTable SET hits= hits + 1 WHERE id = '".$this->id."'"); //Requete AVEC update() $n = $db->update('maTable', array('hits'=>'1 + hits'), "id = '".$this->id."'");
Le problème c'est que la deuxième requête marche pas. Et moi j'veux qu'elle marche.
La deuxième requête update le champs a 1 (0 si je met 'hits+1' à la place de '1+hits'). Donc on dirait que Zend sécurise un peu trop en fonction du type du champs (ici un entier, donc il doit y avoir un truc genre intval('1 + hits')...)
Y'a t'il un moyen de faire un hits++ avec update()?? Car quand je passe avec query(), j'ai pas le nombre de retour de update() et j'en ai besoin...
Dernière modification par Mr.MoOx (27-09-2007 18:19:22)
Hors ligne
Peut être regarder de ce côté, mettre ton addition comme expression SQL...
http://framework.zend.com/manual/en/zen … ble.update
Hors ligne
yannux a écrit:
Peut être regarder de ce côté, mettre ton addition comme expression SQL...
http://framework.zend.com/manual/en/zen … ble.update
C'est pas ce que j'ai fais ?!? Sinon c'est que j'ai pas compris la question...
Hors ligne
Salut,
Pour que ta seconde requête marche, il faut que tu empêches le framework le quote ton expression SQL.
Ton code devient dont :
$n = $db->update('maTable', array('hits'=> new Zend_Db_Expr('1 + hits')), "id = '".$this->id."'");
@+
Hors ligne
Mr.MoOx a écrit:
yannux a écrit:
Peut être regarder de ce côté, mettre ton addition comme expression SQL...
http://framework.zend.com/manual/en/zen … ble.updateC'est pas ce que j'ai fais ?!? Sinon c'est que j'ai pas compris la question...
Oups j'ai oublié de mentioner qu'il fallait regarder la partie :
Example 10.80. Example of inserting expressions to a Table
Hors ligne
Pages: 1