LinuxEye - Linux系统教程

LinuxEye - Linux系统教程

当前位置: 主页 > 数据库 >

Linux下C程序访问MySQL数据库

时间:2013-03-25 12:12来源:CU 编辑:admin 点击:
#include stdio.h#include mysql/mysql.h#define HOST 192.168.56.2#define DB webdevtest#define USER webdev#define PWD webdev#define PORT 3306int main(){ MYSQL mysql; //连接之前得先初始化 mysql_init(mysql); //连接mysql数据库 if(!m
#include <stdio.h>
#include <mysql/mysql.h>

#define HOST "192.168.56.2"
#define DB "webdevtest"
#define USER "webdev"
#define PWD "webdev"
#define PORT 3306

int main(){
    MYSQL mysql;

    //连接之前得先初始化
    mysql_init(&mysql);

 //连接mysql数据库

    if(!mysql_real_connect(&mysql,HOST,USER,PWD,DB,PORT,NULL,0)){
        printf("连接数据库发生错误!\n");
        return -1;
    }
    printf("连接数据库成功!\n");

    //设置查询时的编码
    mysql_query(&mysql,"set names utf8");

 //执行查询语句    
char *sql="select * from test_sell_records limit 20";

    if(mysql_query(&mysql,sql)!=0){
        printf("执行mysql语句发生错误!\n");
        mysql_close(&mysql);
        return -1;
    }
    //获取结果集
    MYSQL_RES *result=mysql_store_result(&mysql);
    unsigned int i,num_fields;
    //获取字段数
    num_fields=mysql_num_fields(result);

    //循环打印出各行
    MYSQL_ROW row;
    while((row=mysql_fetch_row(result))!=NULL){
        for(i=0;i<num_fields;i++){
            printf("%s\t",row[i]);
        }
        printf("\n");
    }

    //释放结果集
    mysql_free_result(result);
    //关闭连接
    mysql_close(&mysql);
    return 0;
}

以上用到的函数为:
mysql_init()
mysql_real_connect()
mysql_query()
mysql_store_result()
mysql_num_fields()
mysql_fetch_now()
mysql_free_result()
mysql_close()

还有,编译的时候不要忘记了添加 -lmysqlclient 参数:
gcc -o mysql_test mysql_test.c -lmysqlclient
在Linux下用C语言开发mysql客户端程序,需要安装mysql开发包

转载请保留固定链接: https://linuxeye.com/database/1410.html

------分隔线----------------------------
标签:mysql
栏目列表
推荐内容