568 MySQL - Technische Referenz f¨ur Version 5.0.1-alpha
Beispiel
MYSQL_RES *result;
unsigned int anzahl_felder;
unsigned int anzahl_zeilen;
if (mysql_query(&mysql,anfrage))
{
// FEHLER
}
else // Anfrage war 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(result) aufrufen
}
else // mysql_store_result() gab nichts zur¨uck, h¨atte es etwas zur¨uckgeben sollen?
{
if(mysql_field_count(&mysql) == 0)
{
// Anfrage gibt keine Daten zur¨uck
// (Anfrage war kein SELECT)
anzahl_zeilen = mysql_affected_rows(&mysql);
}
else // mysql_store_result() h¨atte Daten zur¨uckgeben sollen
{
fprintf(stderr, "Fehler: %s\n", mysql_error(&mysql));
}
}
}
Eine Alternative besteht darin, den mysql_field_count(&mysql)-Aufruf durch mysql_
errno(&mysql) zu ersetzen. In diesem Fall ¨uberpr¨ufen Sie direkt auf einen Fehler von
mysql_store_result(), statt aus dem Wert von mysql_field_count() zu schlussfolgern,
ob das Statement ein SELECT war oder nicht.
9.4.3.21 mysql_field_seek()
MYSQL_FIELD_OFFSET mysql_field_seek(MYSQL_RES *result, MYSQL_FIELD_OFFSET
offset)
Beschreibung
Setzt den Feldcursor auf den angegebenen Offset. Der n¨achste Aufruf von mysql_fetch_
field() ruf die Felddefinition der Spalte ab, die mit diesem Offset verkn¨upft ist.
Comentarios a estos manuales