c mysql 列_MySQL C API - 按列名访问行

这篇博客介绍了如何在C语言中通过获取列名称并搜索目标列来实现类似PHP的关键值数组操作。文章详细阐述了使用mysql_query、mysql_store_result、mysql_num_fields等函数来处理MySQL查询结果,并通过mysql_fetch_field和strcmp找到指定列的索引,然后在循环中利用该索引访问数据。
摘要由CSDN通过智能技术生成

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值