PDF (美式信紙) - 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]);
}
}