Bonjour à tous,
Dans le cadre d'un projet je dois envoyer des données se trouvant dans une base de donnée d'un client sur la BDD d'un serveur.
Pour le transfert de données j'utilise une socket TCP.
Pour récupérer et écrire sur les BDD j'utilise l'API de MYSQL (les deux BDD sont MYSQL).
Du coup pour me simplifier un peu la vie, j'avais penser utiliser une variable de type MYSQL_RES, l'envoyer à travers la socket, la récupérer sur le serveur et écrire sur la BDD serveur.
Mais je n'arrive pas à réutiliser (lire le contenu) ma variable côté serveur...
J'obtient ma variable avec cette commande :
result = mysql_use_result(&mysql);
Côté client j'arrive à la lire sans soucis en utilisant cela :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| //On récupère le nombre de champs
num_champs = mysql_num_fields(result);
//Tant qu'il y a encore un résultat ...
while ((row = mysql_fetch_row(result)))
{
//On déclare un pointeur long non signé pour y stocker la taille des valeurs
unsigned long *lengths;
//On stocke ces tailles dans le pointeur
lengths = mysql_fetch_lengths(result);
//On fait une boucle pour avoir la valeur de chaque champs
for(i = 0; i < num_champs; i++)
{
//On ecrit toutes les valeurs
printf("[%.*s] ", (int) lengths[i], row[i] ? row[i] : "NULL");
}
printf("\n");
} |
Pensez vous que ce que j'essaye de faire est faisable ou il me faut trouver un autre moyen?
Merci d'avance pour vos réponse.
Simraill
Partager