unsigned int mysql_num_fields(MYSQL_RES
          *result)
        
          Um stattdessen ein MYSQL*-Argument zu
          übergeben, sagen Sie unsigned int
          mysql_field_count(MYSQL *mysql).
        
Beschreibung
Liefert die Anzahl der Spalten einer Ergebnismenge.
          Beachten Sie, dass Sie die Anzahl der Spalten entweder aus
          einem Zeiger auf eine Ergebnismenge oder aus einem
          Verbindungs-Handle erfahren können. Den Verbindungs-Handle
          verwenden Sie, wenn mysql_store_result()
          oder mysql_use_result() den Wert
          NULL zurückgegeben hat (sodass kein Zeiger
          auf die Ergebnismenge zur Verfügung steht). In diesem Fall
          können Sie mit mysql_field_count()
          ermitteln, ob mysql_store_result()
          eigentlich ein nichtleeres Ergebnis hätte liefern sollen. So
          kann das Clientprogramm geeignete Maßnahmen ergreifen, ohne
          zu wissen, ob die Anfrage eine SELECT-
          (oder SELECT-ähnliche) Anweisung war. Das
          Beispiel zeigt, wie man dies macht.
        
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 werden verarbeitet
{
    result = mysql_store_result(&mysql);
    if (result)  // Es liegen Zeilen vor
    {
        num_fields = mysql_num_fields(result);
        // Zeilen abrufen und dann mysql_free_result(result) aufrufen
    }
    else  // mysql_store_result() gab nichts zurück, hätte es sollen?
    {
        if (mysql_errno(&mysql))
        {
           fprintf(stderr, "Error: %s\n", mysql_error(&mysql));
        }
        else if (mysql_field_count(&mysql) == 0)
        {
            // Anfrage liefert keine Daten
            // (war kein SELECT)
            num_rows = mysql_affected_rows(&mysql);
        }
    }
}
          Wenn Sie wissen, dass Ihre Anfrage eine Ergebnismenge hätte
          zurückgeben müssen, können Sie alternativ den Aufruf von
          mysql_errno(&mysql) durch eine Prüfung
          ersetzen, die feststellt, ob
          mysql_field_count(&mysql) gleich 0 ist.
          Das geschieht nur, wenn etwas schief gegangen ist.
        
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.

