MySQL Problem - Fehler in mysql_com.h



  • Hallo,

    habe hier im Forum zu SQL und Abfragen ein bischen Code gefunden, das ein bischen angepasst und wollts nun testen...

    #include <cstdlib>
    #include <iostream>
    #include "mysql/mysql.h"
    
    #define host "localhost"
    #define username "*******"
    #define password "*******"
    #define database "test"
    
    using namespace std;
    MYSQL *mysql;
    
    void mysql_connect(void);
    void mysql_disconnect(void);
    void check_error(void);
    
    int main(void){
    
        MYSQL_ROW  row;
        MYSQL_RES *res;
        MYSQL_FIELD *field;
    
        mysql_connect();
    
        mysql_query(mysql, "SELECT * FROM user");
        check_error();
        res=mysql_store_result(mysql);
        check_error();
    
        int anzahl_felder = mysql_num_fields(res);
        row = mysql_fetch_row (res);
        int i;
        for(i=0;i < anzahl_felder; i++){
        cout << row[i] << endl;
        }
    
        mysql_disconnect();
    
        return 0;
    }
    
    void mysql_connect(){
        mysql=mysql_init(mysql);
        check_error();
        mysql_real_connect(mysql, host, username, password, database, 0, NULL, 0);
        check_error();
    }
    
    void mysql_disconnect(){
        mysql_close(mysql);
    }
    
    void check_error(){
        if (mysql_errno(mysql) != 0){
            cerr << "Fehler: " << mysql_error(mysql);
            exit(1);
        }
    }
    

    Jetzt gibt der Compiler folgende Fehler aus:

    3 C:\Dev-Cpp\include\mysql\mysql.h:57, from sql\test_2\main.cpp In file included from C:/Dev-Cpp/include/mysql/mysql.h:57, from sql/test_2/main.cpp
    3 C:\Dev-Cpp\sql\test_2\main.cpp from sql/test_2/main.cpp
    155 C:\Dev-Cpp\include\mysql\mysql_com.h SOCKET' does not name a type 299 C:\\Dev-Cpp\\include\\mysql\\mysql_com.hSOCKET' was not declared in this scope
    299 C:\Dev-Cpp\include\mysql\mysql_com.h expected primary-expression before "const"
    299 C:\Dev-Cpp\include\mysql\mysql_com.h expected primary-expression before "unsigned"
    300 C:\Dev-Cpp\include\mysql\mysql_com.h expected primary-expression before "unsigned"
    300 C:\Dev-Cpp\include\mysql\mysql_com.h initializer expression list treated as compound expression
    C:\Dev-Cpp\Makefile.win [Build Error] [sql/test_2/main.obj] Error 1

    Wenn ich das richtig deute liegt das ja nicht an meinem Code sondern an der über mysql.h includierten mysql_com.h!?
    Ich benutze wxdevcpp mit WinXP.
    Ein update zum devpak server hab ich schon gemacht, hat nichts gebracht!

    Danke & Gruß



  • Kann niemand etwas zu dem Problem sagen bzw helfen...



  • Sieht aus als hättest Du keine Sockets.

    Bei MFC braucht man den Socketheader dazu. Wie es bei dir aussieht weiß ich nicht genau.



  • Das hatte ich auch schon probiert, der Fehler bleibt der gleiche auch wenn ich den winsock Header und die entsprechende libary einbinde...



  • Problem gelöst. 🙂
    Man sollte vielleicht den Winsock Header auch vor den mysql Header packen und auch noch die entsprechene mysql libary einbinden... 🤡
    Danke trotzdem für deinen Hinweis.

    Gruß
    Fabian


Anmelden zum Antworten