unsigned int mysql_field_count(MYSQL
          *mysql)
        
Beschreibung
Liefert die Anzahl der Spalten für die jüngste Anfrage auf dieser Verbindung.
          Normalerweise benutzen Sie diese Funktion, wenn
          mysql_store_result() den Wert
          NULL zurückgegeben hat (und Sie deshalb
          keinen Zeiger auf die Ergebnismenge haben). In diesem Fall
          können Sie mit mysql_field_count()
          feststellen, ob mysql_store_result() ein
          nichtleeres Ergebnis hätte produzieren müssen. So kann das
          Clientprogramm die richtigen Maßnahmen ergreifen, ohne zu
          wissen, ob die Anfrage eine SELECT- (oder
          SELECT-ähnliche) Anweisung war. Wie dies
          funktioniert, zeigt das folgende Beispiel.
        
Rückgabewerte
Ein vorzeichenloser Integer, der die Anzahl der Spalten einer Ergebnismenge angibt.
Fehler
Keine.
Beispiel
MYSQL_RES *result;
unsigned int num_fields;
unsigned int num_rows;
if (mysql_query(&mysql,query_string))
{
    // Fehler
}
else // Anfrage erfolgreich, Rückgabedaten können verarbeitet werden
{
    result = mysql_store_result(&mysql);
    if (result)  // Es sind Zeilen vorhanden
    {
        num_fields = mysql_num_fields(result);
        // Hole Zeilen ab und rufe dann mysql_free_result(result) auf
    }
    else  // mysql_store_result() gab nichts zurück. Hätte es sollen?
    {
        if(mysql_field_count(&mysql) == 0)
        {
            // Anfrage liefert keine Daten
            // (Es war kein SELECT)
            num_rows = mysql_affected_rows(&mysql);
        }
        else // mysql_store_result() hätte Daten zurückgeben müssen
        {
            fprintf(stderr, "Error: %s\n", mysql_error(&mysql));
        }
    }
}
          Eine Alternative wäre es, den Aufruf von
          mysql_field_count(&mysql) durch
          mysql_errno(&mysql) zu ersetzen. In
          diesem Fall schauen Sie direkt in
          mysql_store_result() nach einem Fehler,
          anstatt aus dem Wert von
          mysql_field_count() zu erschließen, ob die
          Anweisung ein SELECT war.
        
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.

