mysql_field_count

#in sign in

頭檔案

#include<mysql.h>

頭檔案

unsigned int mysql_field_count(MYSQL *mysql);

說明

返回作用在連線上的最近查詢的列數。該函式的正常使用是在mysql_store_result()返回NULL(因而沒有結果集指針)時。在這種情況下,可調用mysql_field_count()來判定mysql_store_result()是否應生成非空結果。這樣,客戶端就能採取恰當的動作,而無需知道查詢是否是SELECT(或類似SELECT的)語句。在這裡給出的示例中,演示了完成它的方法。
返回表示結果集中列數的無符號整數。
注意:另一種可選的方法是,用mysql_errno(&mysql)替換mysql_field_count(&mysql)調用。在該情況下,無論語句是否是SELECT,你將直接從mysql_store_result()查找錯誤,而不是從mysql_field_count()的值進行推斷。

範例

MYSQL_RES *result;
unsigned int num_fields;
unsigned int num_rows;
if (mysql_query(&mysql,query_string))
{
// error
}
else // query succeeded, process any data returned by it
{
result = mysql_store_result(&mysql);
if (result) // there are rows
{
num_fields = mysql_num_fields(result);
// retrieve rows, then call mysql_free_result(result)
}
else // mysql_store_result() returned nothing; should it have?
{
if(mysql_field_count(&mysql) == 0)
{
// query does not return data
// (it was not a SELECT)
num_rows = mysql_affected_rows(&mysql);
}
else // mysql_store_result() should have returned data
{
fprintf(stderr, "Error: %s\n", mysql_error(&mysql));
}
}
}

相關詞條

熱門詞條

聯絡我們