Déconnexion ou erreur de programmation ?

Signaler
Messages postés
47
Date d'inscription
mardi 2 novembre 2004
Statut
Membre
Dernière intervention
12 juin 2020
-
Messages postés
47
Date d'inscription
mardi 2 novembre 2004
Statut
Membre
Dernière intervention
12 juin 2020
-
Bonjour, lorsque j'effectue ces deux requetes, le log me dit que la première est ok mais la 2° à échoué (requete echou 2).J'appelle la même requete pour vous montrer l'absurdité.

<ol class= "olcode" id="code1"><li>static MYSQL *conn; //global </li><li>int connexion_mysql(){
</li><li>char *opt_host_name ="localhost";
</li><li>char *opt_user_name="*******";
</li><li>char *opt_password="********";
</li><li>char *opt_db_name="********";
</li><li></li><li>conn = mysql_init (NULL);
</li><li>mysql_real_connect (conn, opt_host_name, opt_user_name, opt_password,opt_db_name,0,NULL,0);
</li><li>return (mysql_query (conn,"select * from THistorique" ) == 0);
</li><li>}
</li><li></li><li>int requete1()
</li><li>{
</li><li>   MYSQL_RES *res;
</li><li>   MYSQL_ROW row;
</li><li></li><li>   if (!mysql_query(conn,"SELECT * FROM THistorique" ))
</li><li>   {
</li><li>      trace_message("Requete echoue 1" );
</li><li>      return 0;
</li><li>   }
</li><li>   res = mysql_use_result(conn);
</li><li>   if (res != NULL)
</li><li>   {
</li><li>      if (row = mysql_fetch_row(res))
</li><li>      {
</li><li>        trace_message("Requete ok" );
</li><li>      }
</li><li>      mysql_free_result(res);
</li><li>      return 1;
</li><li>   }
</li><li>   else</li><li>  {
</li><li>     trace_message("Requete echoue 2" );
</li><li>     return 0;
</li><li>  }
</li><li>}
</li><li></li><li>int insererFlux()
</li><li>{
</li><li>  connexion_mysql();
</li><li>  requete1();
</li><li>  requete1();
</li><li>...</li></ol>Quelqu'un a t-il une solution ?

4 réponses

Messages postés
47
Date d'inscription
mardi 2 novembre 2004
Statut
Membre
Dernière intervention
12 juin 2020

C'est le fork qui me fait défaut ?
Messages postés
98
Date d'inscription
vendredi 17 février 2006
Statut
Membre
Dernière intervention
24 janvier 2018

Salut,

Je ne vois pas que tu utilises un fork, mais si tu en utilises je me rappel que dans ce cas, tu as un père et un processus fils avec chacun le PID. Le père doit attendre que le fils se finisse avant que lui même le fasse ou alors il peut devenir zombi, je ne sais pas si tu l'a fais.
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Salut,
Normalement, la fonction mysql_query() retourne 0 en cas de succès. Donc dans ta fonction requete1() il faut faire:
 if (mysql_query(conn,"SELECT * FROM THistorique" ))
  {
    trace_message("Requete echoue 1" );
     return 0;
  }
Messages postés
47
Date d'inscription
mardi 2 novembre 2004
Statut
Membre
Dernière intervention
12 juin 2020

Je vous remercie, j'ai remarqué cet oubli.