Bonjour
Je souhaite interroger ma base de donnée et récupérer les valeurs dans un "tableau" défini par struct.
- pour num, j'obtiens 49 au lieu de 1;
- pour nom, je ne parviens pas dans la fonction à charger la valeur lue depuis la base dans la variable normalement correspondante de ma structure.
Erreur indiquée dans MySQL_lire par gcc sur la ligne tableau->nom = *row[1]; :
error: incompatible types when assigning to type ‘char[30]’ from type ‘char’
Ma base de donnée contient un champ int nommé num et un champ string (20) pour nom.
RPI - Raspbian - MySQL
Merci pour votre aide.
Extrait de la définition de ma structure .h
Extrait de main
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 typedef struct Commande Commande; struct Commande { int num; char nom[30]; };
Extrait de la fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 struct Commande commande = {0, ""}; ... mysql_lire(&requete_sql, &commande);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 void mysql_lire(char (*requete_sql)[100], struct Commande *tableau) MYSQL_ROW row; while( (row = mysql_fetch_row(result)) ) { if(num_fields >= 2) { tableau->num = *row[0]; tableau->nom = *row[1]; printf(" Valeur num : %d \n", tableau->num); printf(" Valeur nom : %s \n", tableau->nom); } }
Partager