MYSQL_ROW row; //char** 二维数组,存放一条条记录
MYSQL mysql; //一个数据库结构体
MYSQL_RES* result = NULL;
int num_rows = 0, num_fields = 0;
result = mysql_store_result(&mysql);//获取查询结果
num_rows = mysql_num_rows(result);//行
num_fields = mysql_num_fields(result);//列
row = mysql_fetch_row(result);
while (row = mysql_fetch_row(result)) {//返回结果集中行的记录
for (size_t i = 0; i < num_fields; i++) {
printf(" %s", row[0]); // char 正常
printf(" %d", row[0]); // int 报错
s.age = row[0]; // 报错
s.length = row[1]; // 报错..
//原想数据存mysql 现在读取回来 发现row是个char二维数组..
导致无法int类型的数值进行赋值操作..
}
}
row里面统一都是字符串类型,你想转换成整数,要用atoi等字符串转整数函数转换一下,具体哪个转换函数,看一下你row[i]是哪种字符串类型吧