Bonsoir,

Je suis en train de développer une application qui nécessite le stockage de variables depuis une requête MySQL.

Voici un extrait de mon 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
 
      [snip]...[/snip]
 
      /* Utilisation du résultat de la requête SQL */
      MySQL_Res = mysql_use_result(MySQL_Link);
 
      /* Définition de mes dimensions de tableau */
      int MAXDOMLEN  = 512;
      int NUMDOMAINS = (int)mysql_num_rows(MySQL_Res);
 
      /* Création de mon tableau avec les dimensions définies */
      char newDomains[NUMDOMAINS][MAXDOMLEN];
 
      /* Remplissage du tableau avec les résultats de ma requête MySQL */
      int j = 0;
      while (MySQL_Row = mysql_fetch_row(MySQL_Res)) {
        strcpy(newDomains[j], MySQL_Row[0]);
        j++;
      }
 
      /* Test : Affichage du nombre de lignes dans le tableau avant le Free */
      printf("%d\n", NUMDOMAINS);
 
      /* Libération des résultats MySQL */
      mysql_free_result(MySQL_Res);
 
      /* Test : Affichage du nombre de lignes dans le tableau après le Free */
      printf("%d\n", NUMDOMAINS);
Ce qui donne :

12 étant le nombre d'enregistrements présents dans ma base de données et devant être conservé dans la variable NUMDOMAINS.

Mon souci étant qu'après avoir exécuté un mysql_free_result, la variable NUMDOMAINS retourne à son état "0" et ne conserve pas le résultat du mysql_num_rows...

Y a t il une astuce pour contourner ceci ?

Merci par avance pour votre aide.