Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [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

Reply #1 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.

 
Page
  1. Re: Ordre UPDATE dynamique