- 1
[Opened] Pb Warning PHP lors de l'utilisation d'une factory php d'update
Posted by Martus on 09/11/2007 17:39
Voici le code de la factory :
<method type="php" name="setDateSeance"> <parameter name="edt_id" /> <parameter name="expr_date" /> <body><![CDATA[ $sql = "UPDATE emploi_du_temps SET edt_date_deb = $expr_date "; $sql .= "WHERE edt_id = " . $this->_prepareValue($edt_id, 'integer'); $this->_conn->query($sql); ]]></body> </method>
(ex. : $expr_date = "DATE_ADD(edt_date_deb, INTERVAL 7 DAY)"
)
Lors de l'appel suivant :
jDao::get('emploi_du_temps')->setDateSeance($this->getLastEdtId(), $exprDate);
j'obtiens les warning suivants (l'update étant cependant parfaitement réalisé) :
warning 1 mysql_free_result(): supplied argument is not a valid MySQL result resource /Users/martus/Sites/jelix/master/lib/jelix/plugins/db/mysql/mysql.dbresultset.php 29
warning 1 mysql_free_result(): supplied argument is not a valid MySQL result resource /Users/martus/Sites/jelix/master/lib/jelix/plugins/db/mysql/mysql.dbresultset.php 29
Je ne comprends pas pourquoi, mais le code en question est :
protected function _free (){ return mysql_free_result ($this->_idResult); }
Le problème vient peut-être du fait qu'il n'y a pas de résultats à libérer pour un update (au contraire d'un select).
Merci d'avance pour votre aide.
[Opened] Re: Pb Warning PHP lors de l'utilisation d'une factory php d'update
Posted by laurentj on 09/11/2007 21:16
Comme il est indiqué dans la doc de jDb mais aussi dans les exemples pour jDao, jDbConnection a deux methodes, query et exec. query n'est à utiliser que pour les selects, et exec pour les requetes qui ne renvoient pas d'enregistrements.
Bref, c'est exec qu'il faut utiliser pour un update.
[Opened] Re: Pb Warning PHP lors de l'utilisation d'une factory php d'update
Posted by Martus on 09/12/2007 09:54
Bonjour,
merci pour votre réponse, j'ai été un peu trop vite en effet en partant d'une méthode de factory de type select et en lisant la documentation sur les dao.
- 1