![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 1.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam problem z weryfikacją. Hasło oraz login przechowywane są w tabeli. Oczywiście login jest zwykłym textem typu varchar natomiast hasło też jest typu varchar jednak zakodowane funkcją PASSWORD(). Sprawdzanie odbywa się przez:
Po localhoscie wszystko działa idealnie jednak problem zaczyna sie po wczytaniu bazy na serwer. Niemogę się zalogować na strone gdyż hasło się nie zgadza. Ręczna zmiana haseł bezpośrednio na serwerze przez phpMyAdmina nie pomaga (bez szyfrowania hasła oczywiście wszystko działa). Baze mam na yoyo.pl (ver bodaj MySQL 5.0.20). Co może być nie tak (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Jak inaczej jeszcze można szyfrować hasła w tabeli. Próbowałem funkcją md5() ale sytuacja jest identyczna. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat VARCHAR jest taka, że ten drugi przechowuje zmienne długości ciągów + 1 bajt na opisanie ich długości, co w tym przypadku spowoduje przechowywanie zawsze o jednego bajta za dużo. @bendi masz racje. Tylko gdzie kiedys czytalem, że jesli w tabeli istnieją jednoczesnie pola CHAR i VARCHAR to te typu CHAR są i tak niejawnie konwertowane do VARCHAR, wiec w tym przypadku co podales to i tak bez roznicy |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 401 Pomógł: 5 Dołączył: 14.09.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
@bendi masz racje. Tylko gdzie kiedys czytalem, że jesli w tabeli istnieją jednoczesnie pola CHAR i VARCHAR to te typu CHAR są i tak niejawnie konwertowane do VARCHAR, wiec w tym przypadku co podales to i tak bez roznicy Chyba nie całkiem o to chodzi, bo owszem nijawna konwersja zachodzi tylko wtedy gdy MySQL uzna, że lepiej jest stosować CHAR zmiast VARCHARA. Może sie tak zdarzyć w przypadku gdy zdefiniowana długość pola ma poniżej 3 znaków, bo wtedy w przypadku pola VARCHAR i przy założeniu że większość danych będzie miała dokładnie 3 znaki dla tego typu musimy przehowywać jeszcze długość, więc w sumie 4 bajty, a CHAR zawsze będzie trzymał 3. I to chyba tyle niejawnej konwersji podczas tworzenia tabel, jeżeli gdzieś znajdzisz linka do zachowania o którym piszez to z chęcią poczytam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 05:11 |