Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide Recherche
2351 connectés 

  FORUM HardWare.fr
  Programmation
  C

  deconnexion inexpliquée

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

deconnexion inexpliquée

n°1781269
majong
Posté le 02-09-2008 à 10:00:07  profilanswer
 

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é.
 

Code :
  1. static MYSQL *conn;//global
  2. int connexion_mysql(){
  3. char *opt_host_name="localhost";
  4. char *opt_user_name="*******";
  5. char *opt_password="********";
  6. char *opt_db_name="********";
  7. conn = mysql_init (NULL);
  8. mysql_real_connect (conn, opt_host_name, opt_user_name, opt_password,opt_db_name,0,NULL,0);
  9. return (mysql_query (conn,"select * from THistorique" ) == 0);
  10. }
  11. int requete1()
  12. {
  13.    MYSQL_RES *res;
  14.    MYSQL_ROW row;
  15.    if (!mysql_query(conn,"SELECT * FROM THistorique" ))
  16.    {
  17.       trace_message("Requete echoue 1" );
  18.       return 0;
  19.    }
  20.    res = mysql_use_result(conn);
  21.    if (res != NULL)
  22.    {
  23.       if (row = mysql_fetch_row(res))
  24.       {
  25.         trace_message("Requete ok" );
  26.       }
  27.       mysql_free_result(res);
  28.       return 1;
  29.    }
  30.    else
  31.   {
  32.      trace_message("Requete echoue 2" );
  33.      return 0;
  34.   }
  35. }
  36. int insererFlux()
  37. {
  38.   connexion_mysql();
  39.   requete1();
  40.   requete1();
  41. ...


Où est l'explication ?

mood
Publicité
Posté le 02-09-2008 à 10:00:07  profilanswer
 

n°1781299
majong
Posté le 02-09-2008 à 10:41:50  profilanswer
 

si je mets :

Code :
  1. int insererFlux()
  2. {
  3.   connexion_mysql();
  4.   requete1();
  5.   connexion_mysql();
  6.   requete1();
  7. ...


Ca marche


Message édité par majong le 02-09-2008 à 10:42:09
n°1781305
majong
Posté le 02-09-2008 à 11:01:12  profilanswer
 

Ben peut etre cela provient du fork
J'ai mis dans le main (donc meme connexion pour les fils)
 

Code :
  1. connexion_mysql();


 
 
puis  

Code :
  1. int insererFlux()
  2. {
  3.   requete1();
  4.   requete1();
  5. ...


La 2° requete n'est pas executée!


Message édité par majong le 02-09-2008 à 11:01:34
n°1781335
gilou
Modérateur
It's the only NEET thing to do
Posté le 02-09-2008 à 11:50:06  profilanswer
 

A tout hasard, si tu ne fait pas le mysql_free_result(res); qu'est ce que ca donne?
Parce que vu que c'est a la deuxieme évaluation de res, apres un passage par cette fonction, que ton probleme survient, ça pourrait être lié, des fois que ça aie un effet de bord sur un champ de conn.
A+,


Message édité par gilou le 02-09-2008 à 11:52:36

---------------
I think you guys should really consider virtualizing the whole process and moving it to the cloud.
n°1781366
majong
Posté le 02-09-2008 à 12:14:33  profilanswer
 

non.
Ce n'est pas lié à la la compilation j'espère je fais:
gcc -c main.c md5.c -I/usr/include/mysql
puis
gcc -o serveur main.o md5.o -L/usr/lib/mysql -lmysqlclient

n°1781390
majong
Posté le 02-09-2008 à 12:37:39  profilanswer
 

J'ai viré le pointeur static MYSQL *conn;
et jai mis MYSQL conn;  
Je retrouve le pointeur (&conn)
Là ca marche !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  deconnexion inexpliquée

 

Sujets relatifs
déconnexion automatique à la fermeture du navigateursession - déconnexion
Problème de session: deconnexion.[Résolu] Affichage de la déconnexion d'un utilisateur
[ Quasi-Résolu ] [socket] Effectuer deux echanges sans deconnexionCode php pour la deconnexion
XMLHttpRequest : problème de deconnexion ?deconnexion apres authentification http
déconnexion / reconnexion internet en C ?gros pb de deconnexion sur chat java
Plus de sujets relatifs à : deconnexion inexpliquée


Hit-Parade
Copyright © 1997-2012 Hardware.fr SARL / Groupe LDLC / LesNumeriques.com / Version anglaise du site: BeHardware