如何使用c ++连接mysql

时间:2011-08-05 09:21:54

标签: c++ mysql

编者注:原文:

如何使用c ++连接mysql

#include <iostream>
#include <fstream>
#include <string>
#include "/usr/local/mysql5/include/mysql.h"
using namespace std;

int main() {
    MYSQL *mysql;
    MYSQL_RES *result;
    MYSQL_ROW row;

    string server = "192.168.1.92";
    string username = "useradmin";
    string password = "useradmin";
    string database = "market";
    int port = 3306;

    mysql = mysql_init(0);
    if ( !mysql_real_connect( mysql, server.c_str(), username.c_str(), password.c_str(), database.c_str(), port, NULL, 0 ) ) {
        fprintf( stderr, "%s\n", mysql_error( mysql ) );
        return 0;
    }
    if ( !mysql_query( mysql, "SELECT text, prequency FROM ma_dict" ) ) {
        fprintf(stderr, "%s\n", mysql_error( mysql ) );
        return 0;
    }

    result = mysql_use_result( mysql );
    ofstream SaveFile("/tmp/dict.txt");

    while ( ( row = mysql_fetch_row( result ) ) != NULL ) {
        //SaveFile << fprintf( stdout, "%s\t%d", row[0], $row[1] ) << endl;
        cout << row[0] << endl;
    }

    mysql_free_result( result );
    mysql_close( mysql );
    SaveFile.close();

    return 1;

}

mysql_init' undefined reference to mysql_real_connect'的未定义引用 ...


编者注:尝试翻译:

我正在使用Eclipse,并且使用mysql.h收到编译错误。如何链接到mysql

#include "mysql.h"

编者注:English questions are required on Stack Overflow。请尽量将您的问题翻译成英语,即使您必须使用Google Translate等自动翻译服务。

1 个答案:

答案 0 :(得分:0)

编者注:原文:

信息太少了,把编译器错误贴出来看看。 可能因为:

  • 的mysql.h不在配置的包括目录中。
  • Mysql库文件不在链接列表里面
  • 头文件与二进制库文件不配套

编者注:尝试翻译:

你的问题中的信息太少了。将实际的编译器错误发布到您的问题中。

话虽如此,错误可能是由以下原因造成的:

  • Mysql.h不在配置或include目录中。
  • MySql数据库文件不在链接器的路径中。
  • 标题和库文件彼此不一致。