Bonjour,
je suis débutant en programmation et j'ai commencé un programme pour me connecter a une base mySQL et récuperer des resultats. J'arrive a compiler, et lorsque je lance le programme, celui-ci fonctionne, il se connecte et affiche les resultats mais a la fin, windows me dit :
"monprog.exe" a rencontré un problème et doit fermer. Nous vous prions de nous excuser pour le désagrement encouru"
Je ne comprends pas pourquoi !

Je vous laisse le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <stdio.h>
#include <winsock.h>
#include <mysql/mysql.h>
 
/* Les parametres ci-dessous sont a adapter a votre situation*/
#define MY_SERVER_HOST "localhost"
#define MY_SERVER_PORT 0
#define MY_ACCOUNT "MY_LOGIN"
#define MY_PASS "MY_PASS"
#define MY_DB_NAME "MY_DB"
#define MY_TABLE_NAME "MY_TABLE"
#define MY_UX_SOCK NULL
#define MY_CLIENT_FLAG 0
 
int main(int argc, char *argv[])
{
   MYSQL *mysql;
   MYSQL_RES *res;
   MYSQL_ROW row;
   char *query;
   int r,t;
 
   mysql=mysql_init(NULL);
   if (!mysql_real_connect(mysql,MY_SERVER_HOST,MY_ACCOUNT,MY_PASS,MY_DB_NAME,MY_SERVER_PORT,MY_UX_SOCK,MY_CLIENT_FLAG))
   {
      printf( "Erreur de connexion : %s\n",mysql_error(mysql));
   }
   else
   {
      printf("Connexion etablie...\n");
   }
 
 
   query="select * from MY_TABLE";
 
   t=mysql_real_query(mysql,query,(unsigned int) strlen(query));
   if (t)
   {
      printf("Error making query: %s\n", mysql_error(mysql));
   }
   else printf("Query made...\n");
   res=mysql_use_result(mysql);
   for(r=0;r<=mysql_field_count(mysql);r++){
           row=mysql_fetch_row(res);
           if(row<0) break;
           for(t=0;t<=mysql_num_fields(res);t++)
           {
           printf("%s ",row[t]);
           }
           printf("\n");
   }
   mysql_close(mysql);
 
  return 0;
}
Si vous avez la moindre remarque, n'hésitez pas !
Merci