关闭

c程序调用 mysql库函数 操作数据库

标签: 数据库mysqlc程序
267人阅读 评论(0) 收藏 举报
分类:

1 连接上服务器:

/*
mytable 数据库中的表格名称
name 根据 name 进行选择
*/
#define SELECT_QUERY "select * from mytable where name like '%s'"   

MYSQL mysql, *sock; //定义数据连接句柄
/*******************************************
函数名:    service_sql_init
功能:     服务器数据库初始化
*********************************************/

int service_sql_init(void)
{
    mysql_init(&mysql);
    /* 连接上数据库 */
//  if(!(sock = mysql_real_connect(&mysql, "localhost", "root", "my-name-is?lza1205", "rt5350_user_list", 0, NULL, 0))){
    if(!(sock = mysql_real_connect(&mysql, "localhost", "root", "123456", "rt5350_user_list", 0, NULL, 0))){
        fprintf(stderr, "Couldn't connect to engine!\n%s\n\n", mysql_error(&mysql));
        perror("");
        exit(1);
    }
    return 0;
}

/*******************************************
函数名:    service_sql_select
功能:     根据name 从服务器中找出passwd
*********************************************/

int service_sql_select(char *name, char *passwd)
{
    MYSQL_RES   *res;   //查询结果集
//  MYSQL_FIELD *fd;    //包含字段信息
    MYSQL_ROW   row;    //存放一行查询结果的字符串数组
    char qbuf[160];     //存放查询 sql 语句字符串

    sprintf(qbuf, SELECT_QUERY, name);
    printf("qbuf is %s\n", qbuf);
    /* 查询数据库 */
    if(mysql_query(sock, qbuf)){
        fprintf(stderr, "Query failed (%s)\n", mysql_error(sock));
        return -1;
    }

    if(!(res = mysql_store_result(sock))){
        fprintf(stderr, "Couldn't get result from %s\n", mysql_error(sock));
        return -1;
    }

    printf("number of fields returned : %d\n", mysql_num_fields(res));
    while((row = mysql_fetch_row(res))){
        printf("Ther name #%s 's passwd is: %s\n", (((row[0]==NULL)&&(!strlen(row[0]))) ? "NULL" : row[0]),
                                                    (((row[1]==NULL)&&(!strlen(row[1]))) ? "NULL" : row[1])); 
        puts( "query ok !\n" ) ; 
        strcpy(passwd, (((row[1]==NULL)&&(!strlen(row[1]))) ? "NULL" : row[1]));
        mysql_free_result(res);
        return 0;
    }

    mysql_free_result(res);
    return -1;
//    mysql_close(sock);
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:81432次
    • 积分:1461
    • 等级:
    • 排名:千里之外
    • 原创:67篇
    • 转载:4篇
    • 译文:0篇
    • 评论:5条
    文章分类
    最新评论