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. Update login de jauth et jacl2 >
  2. Re: DomDocument::SaveHTML >
  3. [MIGRATION] Jelix 1.2b1pre.1458 >
  4. créer un controller générique >
  5. Installation jcommunity avec oracle comme SGBD >
  6. Re: Capacité des acl jelix >
  7. jForms : moteur de génération XUL >
  8. Re: Ordre UPDATE dynamique