[Hilfe] Frage bei Login (über MySQL) per C++

12/14/2010 20:32 MoepMeep#16
Tjo, vielleicht = statt == :>
Langsam hättest du merken sollen, dass c&p bei mir nicht funktioniert :>
12/14/2010 20:40 winked#17
oh man, jetzt bist du toll weil du deine eigene Fehler merkst ;), ne mal spaß bei seite, das ist bereits weg...

Error von debbugen:
Eine Ausnahme (erste Chance) bei 0x1000bc6a in test.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0x00000358.
Unbehandelte Ausnahme bei 0x1000bc6a in test.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0x00000358.
12/14/2010 20:43 MoepMeep#18
Nagut, ich gebs zu. Mein SQL ist ein wenig eingerostet :x

Debug es richtig, dann weißt du, wo du rausfliegst.
12/14/2010 20:51 winked#19
ok also sieht jetzt so aus:
Code:
#include "stdafx.h"
#include "mysql.h"
#pragma comment (lib,"libmysql.lib")
#pragma comment (lib,"mysqlclient.lib")
MYSQL *connection, mysql;
MYSQL_RES *result;
MYSQL_ROW row;
MYSQL *sqlhnd = mysql_init(NULL);
int query_state;

//Login
cout << "Username: ";
        string username;
        cin >> username;
cout << "Password: ";
        string password;
        cin >> password;
        mysql_init(&mysql);
        connection = mysql_real_connect(&mysql,"xxx","xxx","xxx","xx",0,0,0);
        mysql_query(sqlhnd, "SELECT * FROM 'accounts' WHERE logins = 'username' AND passwords = 'password'");
         if  (row = NULL)
            return(0);
        else ;
und dann kommt error bei starten der exe wie das: " test.exe funktioniert nicht mehr...."
12/15/2010 00:25 MasterGamer2#20
Quote:
if (row = NULL)
Und eine automatische Erkennung welchen Teil eines Strings durch Variablen ersetzt werden soll gibt es afaik auch noch nicht ...
12/15/2010 12:26 MoepMeep#21
Quote:
Originally Posted by MasterGamer2 View Post
Und eine automatische Erkennung welchen Teil eines Strings durch Variablen ersetzt werden soll gibt es afaik auch noch nicht ...
Sollte man sich recht einfach eine Stringreplace funktion basteln können.
12/15/2010 16:34 MrSm!th#22
oder ganz simpel, man setzt den sql query string aus den befehlen und den inhalten der variablen zusammen:

Code:
string query = "SELECT * FROM 'accounts' WHERE logins = '" + username + "' AND passwords = '" + password + "'";
mysql_query(sqlhnd, query.c_str());
ein tipp:

lass den blödsinn mit dem connecten auf die datenbank, sonst kann man die daten deiner datenbank aus deinem programm auslesen und dann diese verändern.
gerade für logins ist das ganz schlecht.

lass das lieber eine php datei machen, die du dann im programm aufrufst ;)