【MySQL学习】C++外部调用

cpp 复制代码
#include "mysql.h"
MYSQL *mysql;
MYSQL_RES *rec;
MYSQL_ROW row; 

(1)连接

cpp 复制代码
char *server = "localhost";
char *user = "root";
char *password = "hello";
char *database = "mysql";
mysql = mysql_init(NULL);
if(!mysql_real_connect(mysql, server, user, password, database, 0, NULL, 0))
    printf("Connect Failed: %sn\n", mysql_error(mysql));
else
    printf("Connect Succeed ! \n");

(2)运行

cpp 复制代码
string str="show databases;";
if(mysql_real_query(mysql,str.c_str(),str.length()))  
{  
    cout << mysql_error(mysql) << endl;  
    return -1;  
}  

(3)显示结果

cpp 复制代码
rec=mysql_store_result(mysql);
while(row = mysql_fetch_row(rec))  
{  
    for(int i = 0;i < mysql_num_fields(rec);i++)  
    {  
        if(row[i] != NULL)  
            cout << row[i] << "\t";  
        else  
            cout << "<null>" << "\t";  
    }  
    cout << "\n";  
}  

(4)释放记录

cpp 复制代码
mysql_free_result(rec);

(5)关闭连接

cpp 复制代码
mysql_close(mysql);

(6)获取记录数

cpp 复制代码
mysql_num_fields(rec);
相关推荐
艾莉丝努力练剑21 分钟前
【Linux:文件】Ext系列文件系统进阶
linux·运维·服务器·c++·文件系统·文件io·ext
eggcode33 分钟前
【Qt学习】Linux(ARM架构)在线安装Qt6.x
linux·qt·学习·arm
DIY源码阁1 小时前
JavaSwing学生成绩管理系统 - MySQL版
java·数据库·mysql·eclipse
_李小白2 小时前
【android opencv学习笔记】Day 26: 滤波算法之低通滤波与图像缩放插值
android·opencv·学习
basketball6162 小时前
C++ NULL 和 nullptr 区别 以及 nullptr 的核心实现
java·开发语言·c++
Bechamz3 小时前
大数据开发学习Day43
大数据·学习
Fre丸子_4 小时前
自定义文件夹选取功能
c++
不总是4 小时前
[2026最新] Windows 免安装版 MySQL 8 详细安装配置教程(ZIP 压缩包版)
数据库·windows·mysql
happymaker06265 小时前
SpringBoot学习日记——DAY06(整合MyBatisPlus的其他功能)
java·spring boot·学习