FBIagent
Erfahrenes Mitglied
Moin,
wie ihr aus dem Betreff entnehmen könnt bekomm ich es nicht hin auf einen MySQL
Server zu verbinden. Hab das gemacht was ich sonst auch immer dafür machen
musste. Funktioniert aber irgendwie nie.
Hier erstmal der Code:
dna.cpp
mysqlcon.h
Und so sieht die config.txt aus:
Natürlich testweise den Benutzer "test_cpp" mit Passwort "test_cpp" erstellt.
"test" steht für die database. "localhost" muss ich wohl ned erklären.
Ja MySQL läuft.. das schonmal vorab
Warum funtzt denn das mysql_real_connect(); nicht...
Hm.. habe nun echt keine Ahnung mehr.
THX im Vorraus
MFG FBIagent
EDIT: Oh ganz dummer Fehler von mir... habe bei mysql_real_connect(); bei mInfo[] nicht mit 0 angefangen
sondern mit 1 -.- hat sich also erledigt. (den Code habe ich hier auch ebend korigiert)
wie ihr aus dem Betreff entnehmen könnt bekomm ich es nicht hin auf einen MySQL
Server zu verbinden. Hab das gemacht was ich sonst auch immer dafür machen
musste. Funktioniert aber irgendwie nie.
Hier erstmal der Code:
dna.cpp
Code:
#include <iostream>
#include <fstream>
#include <vector>
#include <windows.h>
#include <MySQL/mysql.h>
#include "mysqlcon.h"
int main()
{
mConnection mCon;
bool running = true;
std::cout << "Loading config... ";
if(mCon.lConfig() == true)
std::cout << "done.\n";
else
{
std::cout << "failed.\n Error: Can't find config.txt\n\n";
running = false;
}
if(running == true)
{
std::cout << "Connecting to MySQL server... ";
if(mCon.connect() == true)
std::cout << "done.\n";
else
{
std::cout << "failed.\nError: Can't connect to MySQL server. Wrong configs or server down?\n\n";
}
}
mCon.close();
system("Pause");
return 0;
}
mysqlcon.h
Code:
#ifndef MY_MYSQLCON_H
#define MY_MYSQLCON_H
class mConnection
{
private:
MYSQL mCon;
std::string mInfo[4];
public:
bool lConfig();
bool connect();
void close();
};
bool mConnection::lConfig()
{
std::string row;
std::vector<std::string> rows;
std::ifstream file("config.txt");
if(!file.is_open())
return false;
while(getline(file,row))
rows.push_back(row);
for(int i=0;i<rows.size();i++)
mInfo[i] = rows[i];
return true;
}
bool mConnection::connect()
{
mysql_init(&mCon);
if(mysql_real_connect(&mCon,mInfo[0].c_str(),mInfo[0].c_str(),mInfo[0].c_str(),mInfo[0].c_str(),3306,NULL,0))
return true;
else
return false;
}
void mConnection::close()
{
mysql_close(&mCon);
}
#endif
Code:
localhost
test_cpp
test_cpp
test
"test" steht für die database. "localhost" muss ich wohl ned erklären.
Ja MySQL läuft.. das schonmal vorab
Warum funtzt denn das mysql_real_connect(); nicht...
Hm.. habe nun echt keine Ahnung mehr.
THX im Vorraus
MFG FBIagent
EDIT: Oh ganz dummer Fehler von mir... habe bei mysql_real_connect(); bei mInfo[] nicht mit 0 angefangen
sondern mit 1 -.- hat sich also erledigt. (den Code habe ich hier auch ebend korigiert)
Zuletzt bearbeitet: