代码:
#include<stdio.h>
#include<mysql.h>
#include<string.h>
int main(int argc, char const *argv[])
{
MYSQL *mysql;
MYSQL_RES *res;
MYSQL_ROW row;
int t;
/*SELECT * FROM Msg是一个MYSQL语句,意思为获取
名为Msg的表中的所有数据*/
char *query = "SELECT * FROM Msg";
/*初始化mysql句柄*/
mysql = mysql_init(NULL);
/*链接mysql数据库,连接的库名为test*/
if(!mysql_real_connect(mysql,"localhost","root","zhujunwen"
,"test",0,NULL,0))
{
printf("failed to connect:%s\n",mysql_error(mysql));
return -1;
}
/*往MYSQL数据库发送MYSQL语句,成功返回0*/
t=mysql_real_query(mysql,query,(unsigned int)strlen(query));
if(t)
{
printf("failed to query:%s\n",mysql_error(mysql));
return -1;
}
/*用res获取刚发送的MYSQL语句 返回的结果集*/
res = mysql_store_result(mysql);
/*mysql_fetch_row用于获取结果集中的下一行数据*/
while(row=mysql_fetch_row(res))
{
/*mysql_num_fields返回结果集的一行中有多少列个数据*/
for(t=0;t<mysql_num_fields(res);t++)
{
printf("%s\t",row[t]);
}
printf("\n");
}
/*在mysql中,既然获取了结果集,最后就要释放它*/
mysql_free_result(res);
/*关闭mysql句柄*/
mysql_close(mysql);
return 0;
}
像这种,如果用程序来查询数据库中两个相邻的数据,然后进行减法操作,在网上找了很久,都是只能用mysql_fetch_row()函数,如果打印row[0],结果是num字段中的所有数据,但是如果我只想要100这一个数据应该怎么做呢。
第一次不会操作这个博客,见谅。