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
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 main
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
        struct Commande commande = {0, ""};
        ...
        mysql_lire(&requete_sql, &commande);
Extrait de la fonction
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);
              }
        }