zoukankan      html  css  js  c++  java
  • C连接MySql

    连接数据库connect.c

    #include <stdio.h>
    #include <mysql/mysql.h>
    
    int main()
    {
        //MYSQL句柄
        MYSQL mysql;
        /*用mysql_init初始化MYSQL连接句柄*/
        mysql_init(&mysql);
        /*使用mysql_real_connect连接服务器*/
        if(!mysql_real_connect(&mysql, "localhost", "root", "1234", "mydb", 0, NULL, 0)) {
            printf("Error:%s
    ",mysql_error(&mysql));
        }else {
            printf("Connected Mysql successful!
    ");
        }
        /*关闭连接*/
        mysql_close(&mysql);
        return 0;
    }

    利用gcc编译时需要指定链接库位置

    cc -o connect connect.c -L/usr/lib64/mysql -lmysqlclient

    数据库查询query.c

    #include <stdio.h>
    #include <string.h>
    #include <mysql/mysql.h>
    
    
    int main()
    {
        MYSQL mysql;
        MYSQL_RES *res;
        MYSQL_ROW row;
        char *query;
        int flag, t;
        mysql_init(&mysql);
        if(!mysql_real_connect(&mysql, "localhost", "root", "1234", "mydb", 0, NULL, 0)) {
            printf("Failed to connect to Mysql!:%s
    ",mysql_error(&mysql));
            return 0;
        }else {
            printf("Connected to Mysql successfully!
    ");
        }
        query = "select * from student";
        /*查询,成功则返回0*/
        flag = mysql_real_query(&mysql, query, (unsigned int)strlen(query));
        if(flag) {
            printf("Query failed!
    ");
            return 0;
        }else {
            printf("[%s] made...
    ", query);
        }
    
        /*mysql_store_result将全部的查询结果读取到客户端*/
        res = mysql_store_result(&mysql);
        /*mysql_fetch_row检索结果集的下一行*/
        while(row = mysql_fetch_row(res)) {
            /*mysql_num_fields返回结果集中的字段数目*/
            for(t=0; t<mysql_num_fields(res); t++)
            {
                printf("%s	", row[t]);
            }
            printf("
    ");
        }
        mysql_close(&mysql);
        return 0;
    }

    使用gcc编译时同样需要指定链接库文件的位置。

  • 相关阅读:
    Android Studio如何设置代码自动提示
    Java中Map的用法详解
    Android 管理Activity中的fragments
    Android
    WebApp之Meta标签
    iOS中为网站添加图标到主屏幕以及增加启动画面
    HTML5添加 video 视频标签后仍然无法播放的解决方法 IIS添加MIEI类型
    WebApp之 apple-touch-icon
    Eclipse编辑器基本设置
    Redis监控方案
  • 原文地址:https://www.cnblogs.com/runnyu/p/4959966.html
Copyright © 2011-2022 走看看