【MySQL】mysql C/C++ connect
makefile

test.cc
#include <iostream>
#include <mysql/mysql.h>
const std::string host = "127.0.0.1";
const std::string user = "connector";
const std::string passward = "123456";
const std::string db_name = "mysql_conn";
const unsigned int port = 3306;int main()
{MYSQL *my = mysql_init(nullptr);if (my == nullptr){std::cerr << "mysql init error" << std::endl;return 2;}if (mysql_real_connect(my, host.c_str(), user.c_str(), passward.c_str(), db_name.c_str(), port, nullptr, 0) == nullptr){std::cerr << "mysql connect error" << std::endl;return 3;}std::string sql = "select * from fortest;";int n = mysql_query(my, sql.c_str());if (n == 0){std::cout << sql << "success:" << n << std::endl;;}else{std::cout << "mysql_query fail:" << n << std::endl;return 4;}MYSQL_RES *res = mysql_store_result(my);if (nullptr == res){std::cerr << "mysql_store_result error";return 5;}int rows = mysql_num_rows(res);int fields = mysql_num_fields(res);std::cout << "行:" << rows << std::endl;std::cout << "列:" << fields << std::endl;MYSQL_FIELD *field_array = mysql_fetch_field(res);for(int i = 0; i < fields; i++){std::cout << field_array[i].name << "\t";}std::cout << std::endl;for(int i = 0; i < rows; i++){MYSQL_ROW row = mysql_fetch_row(res);for(int j = 0; j < fields; j++){std::cout << row[j] << "\t";}std::cout << "\n";}std::cout << "database_name: " << field_array[0].db << std::endl;std::cout << "table_name: " << field_array[0].table << std::endl;mysql_free_result(res);mysql_close(my);return 0;
}