unsigned int mysql_field_count(MYSQL
          *mysql)
        
          Si vous utilisez une version de MySQL plus ancienne que la
          3.22.24, vous devez utiliser unsigned int
          mysql_num_fields(MYSQL *mysql).
        
Description
Retourne le nombre de colonnes pour la requête la plus récente de la connexion.
          L'utilisation normale de cette fonction est lorsque
          mysql_store_result() a retourné
          NULL (et que vous n'avez donc pas de
          pointeur sur jeu de résultats). Dans ce cas, vous pouvez
          appeler mysql_field_count() pour
          déterminer si mysql_store_result() aurait
          dû produire un résultat non-vide. Cela permet au programme
          client d'entreprendre les bonnes actions sans savoir si la
          requête était un SELECT (ou équivalent).
          L'exemple suivant illustre comment cela peut être fait.
        
Valeur de retour
Un entier non-signé représentant le nombre de champs dans un jeu de résultats.
Erreurs
Aucune.
Exemple
MYSQL_RES *result;
unsigned int num_fields;
unsigned int num_rows;
if (mysql_query(&mysql,query_string))
{
    // erreur
}
else // requête bonne, traitons les données qu'elle renvoit
{
    result = mysql_store_result(&mysql);
    if (result)  // il y a des lignes
    {
        num_fields = mysql_num_fields(result);
        // récupère les lignes, puis appele mysql_free_result(result)
    }
    else  // mysql_store_result() n'a rien retourné; est-ce normal ?
    {
        if(mysql_field_count(&mysql) == 0)
        {
            // la requête ne retourne aucune donnée
            // (ce n'était pas un SELECT)
            num_rows = mysql_affected_rows(&mysql);
        }
        else // mysql_store_result() aurait du retourner des données
        {
            fprintf(stderr, "Erreur : %s\n", mysql_error(&mysql));
        }
    }
}
          Une alternative est de remplacer l'appel à
          mysql_field_count(&mysql) par
          mysql_errno(&mysql). Dans ce cas, vous
          vérifiez directement les erreurs à partir de
          mysql_store_result() plutôt qu'à partir
          de mysql_field_count() si la requête
          était un SELECT.
        
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

