unsigned long *mysql_fetch_lengths(MYSQL_RES
*result)
Beschreibung
Gibt die Länge der Spalten der aktuellen Zeile einer
Ergebnismenge zurück. Wenn Sie planen, Feldwerte zu kopieren,
sind diese Längenangaben auch für die Optimierung hilfreich,
da Sie sich dadurch den Aufruf von strlen()
ersparen können. Wenn die Ergebnismenge Binärdaten enthält,
müssen Sie sogar diese
Funktion zur Ermittlung der Datenlänge einsetzen, da
strlen()
für Felder mit Nullwerten
verkehrte Ergebnisse liefert.
Die Länge von leeren Spalten und Spalten mit
NULL
-Werten ist null. Unter der
Beschreibung von mysql_fetch_row()
erfahren
Sie, wie Sie diese beiden Fälle unterscheiden können.
Rückgabewerte
Ein Array von vorzeichenlosen Long-Integers, das die Größen
der Spalten angibt (ausschließlich eventueller Nullzeichen am
Ende). Ist NULL
, wenn ein Fehler auftrat.
Fehler
mysql_fetch_lengths()
ist nur für die
aktuelle Zeile der Ergebnismenge gültig. Diese Funktion
liefert NULL
, wenn Sie sie vor
mysql_fetch_row()
oder nach dem Abruf aller
Ergebniszeilen aufrufen.
Beispiel
MYSQL_ROW row; unsigned long *lengths; unsigned int num_fields; unsigned int i; row = mysql_fetch_row(result); if (row) { num_fields = mysql_num_fields(result); lengths = mysql_fetch_lengths(result); for(i = 0; i < num_fields; i++) { printf("Column %u is %lu bytes in length.\n", i, lengths[i]); } }
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.