PDF (US Ltr) - 1.4Mb
PDF (A4) - 1.4Mb
unsigned long *
mysql_fetch_lengths(MYSQL_RES *result)
返回结果集中当前行的列长度。如果您计划复制字段值,此长度信息对于优化也很有用,因为您可以避免调用strlen()
。此外,如果结果集包含二进制数据,您必须使用此函数来确定数据的大小,因为strlen()
对于包含空字符的任何字段返回不正确的结果。
空列和包含NULL
值的列的长度为零。要了解如何区分这两种情况,请参阅mysql_fetch_row()
的描述。
mysql_fetch_lengths()
仅对结果集的当前行有效。如果您在调用mysql_fetch_row()
之前或在检索结果集中的所有行之后调用它,则返回NULL
。
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]);
}
}