4
有沒有辦法使用列名訪問MySQL數據庫中的行?MySQL C API - 按列名訪問行
例如,對於第一列而不是使用row[0]
,您可以使用類似row['authors']
的東西。我想直接使用C API編程,而不使用任何包裝器,而不使用C++。
感謝您的幫助!
有沒有辦法使用列名訪問MySQL數據庫中的行?MySQL C API - 按列名訪問行
例如,對於第一列而不是使用row[0]
,您可以使用類似row['authors']
的東西。我想直接使用C API編程,而不使用任何包裝器,而不使用C++。
感謝您的幫助!
C並沒有真正支持關鍵值數組,例如(我假設你在想)PHP。你可以得到的最接近的東西是獲得一個列名稱數組,搜索它所需的名稱,並使用該索引。例如:
mysql_query(_MySQLConnection, query);
MYSQL_RES *result = mysql_store_result(_MySQLConnection);
unsigned int num_fields = mysql_num_fields(result);
MYSQL_ROW row;
MYSQL_FIELD *field;
unsigned int name_field;
char *field_name = "name";
char *headers[num_fields];
for(unsigned int i = 0; (field = mysql_fetch_field(result)); i++) {
headers[i] = field->name;
if (strcmp(field_name, headers[i]) == 0) {
name_field = i;
}
}
while ((row = mysql_fetch_row(result))) {
//do something with row[name_field]
printf("Name: %s\n", row[name_field]);
}
mysql_free_result(result);
感謝大衛的聰明工作! – ddillert 2011-02-06 01:23:44