
Kapitel 9: MySQL-APIs 577
produziert haben sollte oder nicht. Das erlaubt dem Client-Programm, die korrekten Ak-
tionen vorzunehmen, ohne wissen zu m¨ussen, ob die Anfrage ein SELECT- (oder SELECT-
¨ahnliches) Statement war oder nicht. Das unten stehende Beispiel zeigt, wie das gemacht
wird.
Siehe Abschnitt 9.4.6.1 [NULL mysql_store_result()], Seite 595.
R¨uckgabewerte
Eine vorzeichenlose Ganzzahl, die die Anzahl von Feldern in einer Ergebnismenge darstellt.
Fehler
Keine.
Beispiel
MYSQL_RES *ergebnis;
unsigned int anzahl_felder;
unsigned int anzahl_zeilen;
if (mysql_query(&mysql,anfrage_zeichenkette))
{
// FEHLER
}
else // Anfrage erfolgreich, zur¨uckgegebene Daten verarbeiten
{
ergebnis = mysql_store_result(&mysql);
if (ergebnis) // Es gibt Zeilen
{
anzahl_felder = mysql_num_fields(ergebnis);
// Zeilen abrufen, dann mysql_free_result(ergebnis) aufrufen
}
else // mysql_store_result() gab nichts zur¨uck, h¨atte es das tun sollen?
{
if (mysql_errno(&mysql))
{
fprintf(stderr, "Fehler: %s\n", mysql_error(&mysql));
}
else if (mysql_field_count(&mysql) == 0)
{
// Anfrage gibt keine Daten zur¨uck
// (war kein SELECT)
anzahl_zeilen = mysql_affected_rows(&mysql);
}
}
}
Comentarios a estos manuales