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);
}