27.7.6.17 mysql_fetch_field()

MYSQL_FIELD *mysql_fetch_field(MYSQL_RES *result)

Description

返回结果集的一列的定义为MYSQL_FIELD结构。重复调用此函数以检索有关结果集中所有列的信息。当没有剩余字段时,mysql_fetch_field()返回NULL

每次执行新的SELECT查询时,都会重置mysql_fetch_field()以返回有关第一个字段的信息。 mysql_fetch_field()返回的字段也会受到对mysql_field_seek()的调用的影响。

如果您已调用mysql_query()在 table 上执行SELECT但未调用mysql_store_result(),则如果您调用mysql_fetch_field()询问BLOB字段的长度,则 MySQL 将返回默认的 Blob 长度(8KB)。 (选择 8KB 的大小是因为 MySQL 不知道BLOB的最大长度。应该在某个时候将其设置为可配置。)检索到结果集后,field->max_length将包含特定查询中该列的最大值。 。

Return Values

当前列的MYSQL_FIELD结构。 NULL(如果没有剩余列)。

Errors

None.

Example
MYSQL_FIELD *field;

while((field = mysql_fetch_field(result)))
{
    printf("field name %s\n", field->name);
}