- 1
[Opened] Ordre UPDATE dynamique
Posted by Obewan on 05/02/2007 15:32
Bonjour.
Je construis un ordre UPDATE sans connaître à l'avance la structure de la table. Je passe donc par jDB.
$sql_temp = 'INSERT INTO DATA ...blablabla....'; $cnx = jDb::getConnection(); $rs = $cnx->query($sql_temp); if ($rs) { $rep->body->assign('message', "Données enregistrées"); } else { $rep->body->assign('message', "Erreur à l'enregistrement"); }
Mon ordre UPDATE s'excute bien les données sont enregistrées mais j'ai un Warning dans la fenêtre du navigateur :
[warning 1] mysql_free_result(): supplied argument is not a valid MySQL result resource [...]\lib\jelix\db\drivers\mysql\jDbResultSet.mysql.class.php 31
En effet la fonction _free de jDbResultSetMySQL va appeler $this->_idResult, or pour un update il n'y a pas de resultset...Bug ou pas bug ?
Si je mets un ordre SELECT à la place de l'ordre UPDATE tout est ok et je n'ai pas de warning. Est ce que la fonction : jDbResultSet|boolean query (string $queryString) est la bonne méthode pour faire des UPDATE ?
D'avance merci
[Opened] Re: Ordre UPDATE dynamique
Posted by laurentj on 05/02/2007 15:50
la méthode query, c'est pour les requêtes qui renvoient des résultats. Pour les autres (donc insert, update, delete...), il faut utiliser la méthode exec.
- 1