#include <stdio.h>
#include "mysql.h"
#include <stdlib.h>
MYSQL *init()
{
MYSQL *mysql, *con;
mysql = mysql_init(NULL); //初始化mysql对象
if (NULL == mysql)
{
printf("mysql_init : %s\n", mysql_error(mysql));
return NULL;
}
con = mysql_real_connect(mysql, "localhost", "root", "root", "mydatabase", 0, NULL, 0);
if (NULL == con)
{
printf("mysql_real_connect : %s\n", mysql_error(mysql));
return NULL;
}
return mysql;
}
int get_result(MYSQL *mysql)
{
char sql[64] = {0};
int ret, i, fields;
MYSQL_RES *res;
MYSQL_FIELD *f; //保存列结果(结构体)
MYSQL_ROW row; //保存行结果(数组)
sprintf(sql, "select * from stu;");
ret = mysql_query(mysql, "set names gbk");
if (ret != 0)
{
printf("mysql_query : %s\n", mysql_error(mysql));
return -3;
}
ret = mysql_query(mysql, sql); //查询结果
if (ret != 0)
{
printf("mysql_query : %s\n", mysql_error(mysql));
return -1;
}
res = mysql_store_result(mysql); //保存查询结果
if (NULL == res)
{
printf("mysql_store_result : %s\n", mysql_error(mysql));
return -2;
}
fields = mysql_num_fields(res); //获取列数
while (f = mysql_fetch_field(res)) //获取表头
{
printf("%-12s", f->name);
}
printf("\n");
while (row = mysql_fetch_row(res))
{
for (i = 0; i < fields; i++)
{
printf("%-12s", row[i]);
}
printf("\n");
}
return 0;
}
int main()
{
MYSQL *mysql;
int ret;
mysql = init();
if (NULL == mysql)
{
exit(1);
}
printf("连接服务器成功!\n");
ret = get_result(mysql); //自定义函数
if (ret != 0)
{
exit(2);
}
getchar();
return 0;
}
MYSQL数据库(二)——简单应用
最新推荐文章于 2024-04-07 16:10:07 发布