[MySQL] Nachgucken ob in der Tabelle in Feld 1 Existiert.
-
Hallo leute,
ich will einen Login Schreiben.
Dafür möchte ich natürlich SQL benutzen.
Ich habe mir auch schon ein paar tutorials durchgelesen.Aber niergenswo habe ich gefunden wie ich in einer Tabelle nachgucken kann ob im ersten Feld was gleich is.
Also es soll eigentlichlich so in der art sein.
for (int feldnr=0; feldnr<eof(datei); feldnr++){ if(username == tabellenusername[feldnr]){ cout << "Account ist da"; feldnr = eof(datei) } }
also das funktioniert jetzt nicht echt xD das soll nur darstellen wie es sein soll.
es gibt einen username und dann wird in der tabelle nachgeguckt ob irgentwoe im ersten Feld dieser Username existiert.
dann wenn es exiestiert sucht er nach dem passwort was in feld 2 gespeichert wird.also wie soll das gehen xD
noch ne frage,
wär es für die geschwindigkeit nicht besser wenn man username und passwort in einem feld speichert?
also z.b.
im ersten feld is "test:test" 2 feld ist wie lange der account noch gültig ist oder so ^^
der user gibt ein username ein und ein passwort, die beiden werden mit einem ":" kombieniert und dann wird nachgeguckt.
Dann wird halt nur zurückgegebnen "Username oder Passwort ist falsch"
aber is ja auch sicherer ^^wäre die methode denn gut?
Mfg Marius
-
kann mir niemand meine frage beantworten >_<
-
in der Regel läuft der abgleich so ab, dass du die Inhalte der Tabelle fetchst und das Ergebnis der Reihe nach durchgehst
oder aber du bearbeitest deinen SQL-Query... (in deinem Fall sinnvoller)
SELECT passwort FROM tabelle WHERE username = 'USER'
ist der User vorhanden, liefert dir der Query das zugehörige Passwort, das du dann nur noch abgleichen musst
noch ne frage,
wär es für die geschwindigkeit nicht besser wenn man username und passwort in einem feld speichert?
also z.b.
im ersten feld is "test:test" 2 feld ist wie lange der account noch gültig ist oder so ^^
der user gibt ein username ein und ein passwort, die beiden werden mit einem ":" kombieniert und dann wird nachgeguckt.
Dann wird halt nur zurückgegebnen "Username oder Passwort ist falsch"
aber is ja auch sicherer ^^ein Datensatz als solches sollte sicher genug sein und auch einen Geschwindigkeitsvorteil wirst du nicht bemerken (wohl eher im Gegenteil)...
Und was machst du, wenn der User einen Doppelpunkt im Usernamen oder im Passwort hat (wobei letzteres aber eh nur als Hashwert abgespeichert werden sollte)
noch dazu ist das nicht der Sinn einer Datenbank... Es sind unterschiedliche Attribute eines Datensatzes, also auch zwei unterschiedliche Felder