Déconnexion ou erreur de programmation ?

cs_majong Messages postés 47 Date d'inscription mardi 2 novembre 2004 Statut Membre Dernière intervention 12 juin 2020 - 2 sept. 2008 à 10:04
cs_majong Messages postés 47 Date d'inscription mardi 2 novembre 2004 Statut Membre Dernière intervention 12 juin 2020 - 3 sept. 2008 à 10:13
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

cs_majong Messages postés 47 Date d'inscription mardi 2 novembre 2004 Statut Membre Dernière intervention 12 juin 2020
2 sept. 2008 à 11:03
C'est le fork qui me fait défaut ?
0
zaibacker Messages postés 97 Date d'inscription vendredi 17 février 2006 Statut Membre Dernière intervention 24 janvier 2018
2 sept. 2008 à 14:28
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.
0
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
2 sept. 2008 à 22:25
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;
  }
0
cs_majong Messages postés 47 Date d'inscription mardi 2 novembre 2004 Statut Membre Dernière intervention 12 juin 2020
3 sept. 2008 à 10:13
Je vous remercie, j'ai remarqué cet oubli.
0
Rejoignez-nous