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

12/14/2010 16:47 winked#1
Heyho Leute,

ich suche Hilfe, undzwar habe ich folgendes vor:

Ich habe ein Programm in Konsolen Form (also ohne Style), und will dort jetzt folgendes einabauen:

Programm startet.
fragt nach loginname.
eingabe des loginnamens.
fragt nach pw.
eingabe des pws.
überprüfung über eine MySQL Datenbank.
korrekt=normalen modus starten
inkorrekt=programm schließen
_______________________________________

Mittlerweile habe ich es soweit realisiert bis zur eingabe der daten (vorher connecten zu mysql server und table "accounts" auswählen). Nun weiß ich nicht wie ich es mache dass, das Programm die Daten ausliest und sie mit den Daten der manueellen Eigabe überprüft.

Mein bisheriger Code:
Code:
//Login
mysql_init(&mysql);
        connection = mysql_real_connect(&mysql,"host","user","pw","db",0,0,0); // Das die Daten nicht ausgefüllt sind hat Sicherheitsgründe.
cout << "Username: ";
        string username;
        cin >> username;
cout << "Password: ";
        string password;
        cin >> password;
[COLOR="Red"]mysql_query(sqlhnd, "SELECT * FROM `accounts`");
if (überprüfung der eingabe mit db nur wie??) ;[/COLOR]
        else
            return(0) ;
Kann mir jmd. helfen bzw es fix fertig machen??

Danke im vorraus =).

ps: der Table "accounts" enthält folgende Spalten: user und pw
12/14/2010 17:03 MoepMeep#2
Code:
SELECT * FROM 'accounts' WHERE user == 'username' && pw == 'password'
Das ganze abspeichern und zählen, dann weißt du, ob es diese daten gibt ;)
12/14/2010 17:11 winked#3
1. zählen? :D

2. if (username==mysqlüberprüfung && password==mysqlüberprüfung) ;
was sollte ich für "mysqlüberprüfung" einsetzen? // bzw. wie überprüf ichs den am besten ob die manuellen eingaben in der db vorhanden sind?

ps: 2. ist aus der überprüfung und kommt nach dem teil aus deinem Code MoepMeep.
12/14/2010 17:33 MoepMeep#4
Quote:
Originally Posted by winked View Post
1. zählen? :D

2. if (username==mysqlüberprüfung && password==mysqlüberprüfung) ;
was sollte ich für "mysqlüberprüfung" einsetzen? // bzw. wie überprüf ichs den am besten ob die manuellen eingaben in der db vorhanden sind?

ps: 2. ist aus der überprüfung und kommt nach dem teil aus deinem Code MoepMeep.
wtf machst du da? Wenn es die Daten gibt, kommt genau ein Datensatz zurück, wenn es diese nicht gibt, kommt keiner zurück.
12/14/2010 17:50 winked#5
Code:
mysql_query(sqlhnd, "SELECT * FROM 'accounts' WHERE logins = 'username' AND passwords = 'password'");
        if  (row == NULL)
			return(0) ;
		else
so??, aufjedenfall kommt da nen error :O
12/14/2010 18:03 MoepMeep#6
Lern die Sprache halt erstmal :>
12/14/2010 18:10 winked#7
haha hilfreich ist was andres.... hab halt nen hänger.... und wenn du meinst es kommt bei nichtvorhandenen accs nichts zurück was man noch verstehen kann und dann nichtmal iwas angestrichen wird im editor und die exe danach nich ausgeht sondern abstürtzt heißt es ja wohl das da iwas falsch ist. nur waS?
12/14/2010 18:14 MoepMeep#8
Debuggen? :>

Du hast allerdings nichtmal die Grundlagen drauf ;)
12/14/2010 18:18 winked#9
und du hast auch nicht mehr drauf als labern anstatt zu helfen :> danke
12/14/2010 18:20 MoepMeep#10
Ich hab dir eine Lösung gepostet, wenn du sie nicht umsetzen kannst, kannst du die Sprache nicht. Willst du fertigen Code, bezahl mich.
12/14/2010 19:21 winked#11
irgendwas kann ja mit deiner "lösung" nicht stimmen da er auch wenn ich alles nach deinem code wegnehme ein error kommt.
12/14/2010 19:34 MoepMeep#12
Liegt allerdings nicht an mir, sondern an deiner unfähigkeit. Ich sags dir nochmal, lern die Sprache :>
12/14/2010 19:39 winked#13
Der Fehler liegt eindeutig an deinem Teil-Code den du gepostet hast. Denn wenn ich diesen schon alleine nutze gibt es nen error ;).
12/14/2010 19:45 MoepMeep#14
Quote:
Originally Posted by winked View Post
Code:
mysql_query(sqlhnd, SELECT * FROM 'accounts' WHERE user == 'username' && pw == 'password'");
Ist auch kein Wunder, das da ein Error kommt, lol. Hättest du auch nur das geringste Verständnis der Sprache, wär da keiner :>

1. Ein String gehört in Anführungsstriche.
2. Statt && AND, ist ja immerhin SQL :>
3. für username und password sollst du natürlich die Variablen einsetzen...

Damit wäre bewiesen, dass du weder SQL ( das && war extra :> ) noch C++ kannst.
12/14/2010 19:51 winked#15
AND hatte ich bereits probiert. Dies ist klar. Dennoch sind die strings auch username und password.... Funktioniert zu 100% nicht also tu nicht so als ob du da 1337 bist...