PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : case sensitive where


da-wandler
24.03.2004, 18:44:12
na sowas...

$User_Kenndaten = mysql($connect,"SELECT Name,Admin,Ini FROM Nutzergruppe WHERE Benutzername = '$User' AND Passwort = PASSWORD('$Passwort')");


per zufall ist mir gerade aufgefallen dass die where abfrage (Benutzername = '$User') gar nicht case sensitve ist!? BEim Passwort klappts hingegen...hab ein bisschen gegoogelt und da steht eigentlich immer, dass es von hause aus case sensitive sein sollte?!

bei der anmeldung nutze ich ein stinknormales:
<input type="text" name="User">

habe es auch mit escapeten doppelten anführungszeichen probiert...
wo häng ich schon wieder schief??

grüße und dank

c4
24.03.2004, 18:52:57
Du kannst dem Feld z.B. das Attribut BINARY geben, dann wird immer auf Groß- und Kleinschreibung geachtet.

Du kannst BINARY auch bloß in der Abfrage nutzen: http://www.mysql.de/doc/de/Case_Sensitivity_Operators.html

Du kannst die Abfrage aber auch mit STRCMP() (http://www.mysql.de/doc/de/String_comparison_functions.html#IDX1176) erweitern. Das Ding achtet eigentlich auch auf Klein- und Großschreibung.

da-wandler
25.03.2004, 12:19:07
erstmal 1000 Dank!!!


Original geschrieben von _c_4_
Du kannst dem Feld z.B. das Attribut BINARY geben, dann wird immer auf Groß- und Kleinschreibung geachtet.


>> hat leider nicht funktioniert!

Du kannst BINARY auch bloß in der Abfrage nutzen: http://www.mysql.de/doc/de/Case_Sensitivity_Operators.html


>> hab ich nicht probiert...

Du kannst die Abfrage aber auch mit STRCMP() (http://www.mysql.de/doc/de/String_comparison_functions.html#IDX1176) erweitern. Das Ding achtet eigentlich auch auf Klein- und Großschreibung.

>> das hat funktioniert (für alle die es nicht auf den ersten blick kombinieren können - so wie ich :-)):


SELECT * FROM Nutergruppe WHERE STRCMP(Benutzername,'$User')=0 AND Passwort = PASSWORD('$Passwort')"