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]);
}
}