Récupérer résultat d'une requête SQL dans un tableau?
cs_Juju1988
Messages postés70Date d'inscriptionjeudi 8 janvier 2009StatutMembreDernière intervention21 juin 2011
-
23 mars 2010 à 15:39
cs_Juju1988
Messages postés70Date d'inscriptionjeudi 8 janvier 2009StatutMembreDernière intervention21 juin 2011
-
30 mars 2010 à 09:06
Bonjour
Je débute en C et je cherche à récupérer le résultat de ma requête SQL dans un tableau en C. Je crois qu'il faut utiliser mysql_fetch_row ... mais je ne sais pas trop comment faire ...
if (mysql_query(sock,query))
{
char *tmp;
TRACE2("TestFTwithUsername : Couldn't select to mysql (%s)\n %s\n",mysql_error(mysql),query);
tmp = "E fwcvs: Couldn't find FT in the database.\n";
envoiebuf(CLNTOUTPUT,tmp,strlen(tmp));
free(query);
mysql_close(mysql);
return 0;
}
else
{
res = mysql_store_result(sock);
row = mysql_fetch_row(res);
str = strdup(*row);
int nblignes = mysql_num_rows(res);
TRACE1("NB Lignes : %d\n", nblignes);
for(j = 0; j <= mysql_num_rows(res); j++)
{
sprintf(str,"%s", row[j]);
TRACE1("STR : %s\n",str);
}
}
Ma partie concerne le else ... si mysql_query OK alors je veux récupérer dans un tableau mes résultats de ma requête ... J'ai besoin que d'une seule colonne mais je peux avoir plusieurs lignes.
Puis je veux parcourir mon tableau et le comparer à un numFT ...
A force de tester différentes manières je ne sais plus où j'en suis ...
fregolo52
Messages postés1114Date d'inscriptionmercredi 15 juin 2011StatutMembreDernière intervention 6 mai 20214 23 mars 2010 à 17:08
salut,
Pour faire du mysql en C de temps en temps j'allais voir l'aide php (c'est quasi pareil).
Là tu dois utiliser mysql-fetch-array (j'ai cherché tres vite, donc je n'ai pas vu l'aide de l'api c).
for (i = 0; j < nblignes; i++)
{
if (numFT = str[i])
{
return(1);
}
else
{
return(0);
}
}
}
Cependant cela me dit re redeclared as different kind of symbol, comment faire? Puis previous definition of res was here et ausis passing argument 1 of sprintf from incompatible pointer type ... Sachant que dans ma fonction précédente j'ai récupérer res de cette manière :
res = mysql_store_result(sock);
Puis je le passe en paramètre dans l'appel de ma fonction ici présente.
Quelle est mon erreur? Ma boucle for est-elle correcte?