Bonjour à toute la communauté,
Mon souci est au niveau d'une valeur de retour d'une fonction. En effet, ma fonction est faite pour traiter n'importe quelle requête MySQL qui est supposée renvoyer quelque chose (une requête select par exemple).
J'aimerai donc que ma fonction me retourne un tableau de ce type:
xxxxxxxx| champ1 | champ2 | ............ | champ X
ligne1 | valeur | valeur |............. | valeur X
ligne 2 | valeur | valeur |............. | valeur X
ligne X | valeur | valeur |............. | valeur X
Mon problème est donc de pouvoir utiliser en dehors de la fonction le tableau que je constitue à l'intérieur de la fonction.
Voici mon code qui est totalement fonctionnel SAUF pour la valeur de retour. En gras dans le code, c'est les instructions qu'il faut sans doute modifier pour que la fonction fonctionne correctement. Mais comment les modifier...
La variable tab_retour est EXACTEMENT le tableau que je veux avoir!
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 char ** mysql_requete_select(MYSQL* connexion, char* requete) { MYSQL_RES *resultat; MYSQL_ROW ligne; my_ulonglong nb_ligne; int nb_champ; int indice_ligne; int indice_champ; if(mysql_query(connexion, requete)) { printf(mysql_error(connexion)); } resultat = mysql_store_result(connexion); nb_ligne = mysql_num_rows(resultat); nb_champ = mysql_num_fields(resultat); char *tab_retour[nb_ligne][nb_champ]; char *pchaine; for(indice_ligne=0; (ligne = mysql_fetch_row(resultat)); indice_ligne++ ) { for(indice_champ=0; indice_champ<nb_champ; indice_champ++) { pchaine = malloc(strlen(ligne[indice_champ]) + 1); strcpy(pchaine, ligne[indice_champ]); tab_retour[indice_ligne][indice_champ] = pchaine; } } return tab_retour;
Mon problème est donc de savoir comme pouvoir récupérer ce tableau afin de l'utiliser en dehors de cette fonction... Le mystère est là... (enfin pour moi )
Si quelqu'un a la réponse, je serai ravi![]()
Partager