MySQL-udtræk er case sensitive?

Tags:    php

Hej derude.

Er i gang med et login-system til en ny hjemmeside, men den vil kun logge mig ind hvis jeg skriver brugernavnet i case sensivity ergo "Martin" virker, hvorimod "martin" ikke virker.

Hvorfor og hvordan ændrer jeg det?

/Martin!



5 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 6 karma
Sorter efter stemmer Sorter efter dato
Du kan jo når du indsætter brugernavnet i din table, gøre brugernavnet lowercase først. Og så når du skal tjekke efter brugernavnet så laver du bare en query med lowercase indtastet brugernavn.



Det lyder umiddelbart som en dårlig ide.

Men det jo ikke mit problem, så du kunne vel bare skrive:

mysql_query("SELECT ..... WHERE UPPER(brugernavn)='".strtoupper($brugernavn)."'")


du skal så også lige huske når du opretter brugere, at teste dem uden case
så du ikke pludselig har:
martin
Martin
etc..

der hvis de har det samme pass begge vil blive logget ind på den samme account.



Det kunne jeg selvfølgelig godt, men kunne jeg undgå det ved at ændre i indstillinger et eller andet sted ville det være at foretrække :)

/Martin!



Nej, desværre.. Det er heller ikke specielt god sikkerhed med et "ikke-casesensitive" brugernavn..



Fandt problemet, havde en lille fejl i min query.

du skal så også lige huske når du opretter brugere, at teste dem uden case
så du ikke pludselig har:
martin
Martin
etc..

der hvis de har det samme pass begge vil blive logget ind på den samme account.


Kolonnen med brugernavne er unik, så det ikke er muligt at have to med samme brugernavn :)



t