Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 27-09-2007 13:57:59

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

[Résolu] [Zend_Db] Update incrémentale pas possible à faire

Voilà, j'ai un problème super con lorsque je fais un update pour incrémenter un compteur...

Code:

//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... sad

Dernière modification par Mr.MoOx (27-09-2007 18:19:22)

Hors ligne

 

#2 27-09-2007 16:07:01

yannux
Membre
Lieu: Rennes
Date d'inscription: 07-04-2007
Messages: 284
Site web

Re: [Résolu] [Zend_Db] Update incrémentale pas possible à faire

Peut être regarder de ce côté, mettre ton addition comme expression SQL...

http://framework.zend.com/manual/en/zen … ble.update


Société : Direct Info Service

Hors ligne

 

#3 27-09-2007 16:19:58

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu] [Zend_Db] Update incrémentale pas possible à faire

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

 

#4 27-09-2007 17:49:04

Ysaak
Membre
Lieu: Strasbourg
Date d'inscription: 18-06-2007
Messages: 33

Re: [Résolu] [Zend_Db] Update incrémentale pas possible à faire

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 :

Code:

$n = $db->update('maTable', array('hits'=> new Zend_Db_Expr('1 + hits')), "id = '".$this->id."'");

@+

Hors ligne

 

#5 27-09-2007 18:18:33

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu] [Zend_Db] Update incrémentale pas possible à faire

Mooh lala, ça gère. Ben T'es un chef Ysaak!

Hors ligne

 

#6 27-09-2007 19:08:29

yannux
Membre
Lieu: Rennes
Date d'inscription: 07-04-2007
Messages: 284
Site web

Re: [Résolu] [Zend_Db] Update incrémentale pas possible à faire

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.update

C'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


Société : Direct Info Service

Hors ligne

 

#7 27-09-2007 20:14:15

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu] [Zend_Db] Update incrémentale pas possible à faire

Ah c'est sur ça m'aurait aidé. Bref maintenant c'est opé, et j'en suis heureux smile

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages