Kapitel 9: MySQL-APIs 563
dem aktuellen Zeichensatz, wohingegen mysql_escape_string() die aktuelle Zeichensatze-
instellung ignoriert.
9.4.3.15 mysql_fetch_field()
MYSQL_FIELD *mysql_fetch_field(MYSQL_RES *result)
Beschreibung
Gibt die Definition einer Spalte der Ergebnismenge als MYSQL_FIELD-Struktur zur¨uck.
Rufen Sie diese Funktion wiederholt auf, um Informationen ¨uber alle Spalten in der
Ergebnismenge zu erhalten. mysql_fetch_field() gibt NULL zur¨uck, wenn es keine
weiteren Felder mehr gibt.
mysql_fetch_field() wird zur¨uckgesetzt, so dass sie Informationen ¨uber das erste Feld
zur¨uckgibt, und zwar jedes Mal, wenn Sie eine neue SELECT-Anfrage ausf¨uhren. Das von
mysql_fetch_field() zur¨uckgegebene Feld wird auch durch Aufrufe von mysql_field_
seek() betroffen.
Wenn Sie mysql_query() aufgerufen haben, um ein SELECT auf eine Tabelle auszuf¨uhren,
aber nicht mysql_store_result() aufgerufen haben, gibt MySQL die vorgabem¨aßige
BLOB-L¨ange (8 KB) zur¨uck, wenn Sie mysql_fetch_field() aufrufen, um nach der L¨ange
eines BLOB-Felds zu fragen. (Die Gr¨oße von 8 KB wird gew¨ahlt, weil MySQL die maximale
L¨ange des BLOB nicht kennt. Das wird irgendwann einmal konfigurierbar gemacht.)
Nachdem Sie die Ergebnismenge erst einmal a/jointfilesconvert/293675/bgerufen haben, enth¨alt field->max_length
die L¨ange des l¨angsten Werts dieser Spalte in der bestimmten Anfrage.
R¨uckgabewerte
Die MYSQL_FIELD-Struktur der aktuellen Spalte. NULL, wenn keine Spalten mehr ¨ubrig sind.
Fehler
Keine.
Beispiel
MYSQL_FIELD *field;
while((field = mysql_fetch_field(ergebnis)))
{
printf("Feldname %s\n", field->name);
}
9.4.3.16 mysql_fetch_fields()
MYSQL_FIELD *mysql_fetch_fields(MYSQL_RES *result)
Comentarios a estos manuales