MySql_API

来源:互联网 发布:idea 1099端口被占用 编辑:程序博客网 时间:2024/06/06 08:54
#include <stdio.h>
#include <mysql.h>
#include <stdlib.h>
#include <string.h>


int main()
{
//初始化句柄
MYSQL *mysql = NULL;
mysql = mysql_init(mysql);
        if (NULL == mysql)
        {
                perror("mysql_init");
                return;
        }
//连接mysql
        mysql = mysql_real_connect(mysql, "127.0.0.1", "myroot", "123456", "mydb61", 0, NULL, 0);
        if (NULL == mysql)
        {
                perror("mysql_real_connect error");
                return;
        }


//设置utf8字符集
        mysql_query(mysql, "set names utf8");

//执行查询返回结果集
char *sql = "select * from emp";
int ret = mysql_query(mysql, sql);
if (ret!=0 )
{
printf("mysql_query error %s ", mysql_errno(mysql));
return -1;
}


//获取列表集
MYSQL_RES* result = mysql_store_result(mysql);
if (result  == NULL)
{
printf("mysql_store_result %s\n",mysql_errno(mysql));
return;
}
MYSQL_ROW row;
unsigned int num_fields;
unsigned int i;

//获取列数 从句柄中获取:mysql_field_count()
//count = mysql_field_count(mysql);


//获取集合中的函数
num_fields = mysql_num_fields(result);
while ((row = mysql_fetch_row(result)))//返回值:下一行的MYSQL_ROW结构
{
unsigned long *lengths;
lengths = mysql_fetch_lengths(result);
for(i = 0; i < num_fields; i++)
{
printf("[%.*s] ", (int) lengths[i], row[i] ? row[i] : "NULL");
}
printf("\n");
}
//释放结果集
mysql_free_result(result);

//关闭连接
mysql_close(mysql);


return 0;
}
0 0
原创粉丝点击