C/C++连接mysql查询数据

C/C++连接mysql查询数据

Cmake

cmake_minimum_required(VERSION 3.13)
project(readMySQL)

set(CMAKE_CXX_STANDARD 14)



add_executable(readMySQL main.cpp)

set(MYSQL_HOME "C:\\Program Files\\MySQL\\MySQL Server 5.6")

include_directories(${MYSQL_HOME}\\include)

link_directories(${MYSQL_HOME}\\lib)

find_library(LIB_MYSQL NAMES libmysql PATHS ${MYSQL_HOME}\\lib)

target_link_libraries(${PROJECT_NAME} ${LIB_MYSQL})

Code

#include 
#include 
#include 
#pragma comment(lib,"ws2_32.lib")
#pragma comment(lib,"libmysql.lib")
int main() {
    MYSQL mysql;
    // 初始化
    mysql_init(&mysql);
    // 连接
    if(mysql_real_connect(&mysql,"localhost","root","123456","test",3306,NULL,0)==NULL)
    {
        std::cerr << "connect fail:" << mysql_errno(&mysql) <<  std::endl;
    }
    // 结果集
    MYSQL_RES *mysqlRes;
    // 行结果
    MYSQL_ROW mysqlRow;
    // 查询SQL
    char sql[] = "select * from newtable";
    // 查询
    mysql_real_query(&mysql,sql,sizeof(sql));
    // 保存查询结果
    mysqlRes = mysql_store_result(&mysql);

    if(mysqlRes==NULL){
        std::cerr << "query fail:" << mysql_errno(&mysql) <<  std::endl;
        exit(1);
    }
    // 获取字段个数
    int fields = mysql_num_fields(mysqlRes);
    // 获取字段信息
    MYSQL_FIELD *fieldDatas = mysql_fetch_fields(mysqlRes);

    // 打印字段
    for (size_t i =0;i

你可能感兴趣的:(C/C++连接mysql查询数据)