/*载入相关头文件*/
//#include //在windows平台,假设链接时发现很多链接错误的时候,需要加上对winsock2.h的引用。#include #include main() {
MYSQL mysql;
MYSQL_RES *result;
MYSQL_ROW row;
int numrows, numcols, c;
char query[] = "SELECT * FROM user";
mysql_init(&mysql);
/*连接到数据库*/
if (!mysql_real_connect(&mysql, "172.21.5.179", "admin", "admin", "mysql", 0, NULL, 0))
{
//访问失败输出错误信息fprintf(stderr, "Failed to connect to database: Error %d:%s\n", mysql_errno(&mysql),mysql_error(&mysql));
return -1;
}
/*执行一个查询*/
if (mysql_query(&mysql, query))
{
//查询失败输出错误信息fprintf(stderr, "Error executing query: Error %d: %s\n", mysql_errno(&mysql), mysql_error(&mysql));
}
/*处理查询结果*/
// 25.2.3.47. mysql_num_rows()
// my_ulonglong mysql_num_rows(MYSQL_RES *result)
//
//描述//
//返回结果集中的行数。//
// mysql_num_rows()的使用取决于是否采用了mysql_store_result()或mysql_use_result()来返回结果集。如果使用了mysql_store_result(),可以立刻调用mysql_num_rows()。如果使用了mysql_use_result(),mysql_num_rows()不返回正确的值,直至检索了结果集中的所有行为止。//
//返回值//
//结果集中的行数。result = mysql_store_result(&mysql); //mysql_use_result()和mysql_store_result()
if (!result)
{
//查询结果出错fprintf(stderr, "Error executing query: Error %d: %s\n", mysql_errno(&mysql), mysql_error(&mysql));
}
/*查找查询结果的列数*/
numcols = mysql_num_fields(result);
numrows = mysql_num_rows(result);
printf("filds = %d\n",numcols);
printf("rows = %d\n",numrows);
printf("\n\n");
/*循环显示查询结果*/
while (row = mysql_fetch_row(result)) {
for(c=0; cprintf("%s\t", row[c]);
}
printf("\n");
}
}