Autor | Zpráva | ||
---|---|---|---|
Jakub Fojtik Profil * |
#1 · Zasláno: 20. 7. 2008, 23:32:28
Dobrý den,
v databázi mám tabulku se sloupcem "heslo", ve kterém mám hesla šifrované pomocí password(). Mám tam mimo jiné záznam, který má ve sloupci heslo hodnotu *AADB89769FF364D, tj zašifrované "heslo". Nevíte, proč mi nefunguje příkaz "select * from tabulka where (heslo=password('heslo'))"? Příkaz "select * from prvni where (heslo='*AADB89769FF364D');" už funguje. Nefunguje mi to ani v monitoru mysql, ani ve skriptech php, ani v phpmyadminu. Každý napíše jen "0 výsledků". Spouštím to na localhostu na VertrigoServru, který jsem po instalaci pro MySql nijak nekonfiguroval. Díky za odpověď |
||
šárinka Profil |
#2 · Zasláno: 20. 7. 2008, 23:55:54
zkus si to dát do proměnné
$pw = password('heslo'); "select * from tabulka where (heslo=$pw)" |
||
Radim Hejhal Profil |
#3 · Zasláno: 21. 7. 2008, 09:31:13 · Upravil/a: Radim Hejhal
Popř. rozděl ten řetězec dotazu, PHP kontroluje řetězec v uvozovkách na proměnné, ale ne na názvy funkcí:
"select * from tabulka where (heslo=".password('heslo').")" |
||
Mike874 Profil * |
#4 · Zasláno: 21. 7. 2008, 11:42:09
šárinka
PASSWORD je mysql funkce, takze do php promene to da tezko Radim Hejhal to samy, PASSWORD je mysql funkce, musi byt uvnitr mysql dotazu, vyhodit ji ven aby to zpracovavalo php nebude fungovat Jakub Fojtik nevim jak presne to zkousis, ale vysledek funkce PASSWORD ma 41 znaku (mysql5), to tvy heslo je nejaky kratky pro hashovani hesla radsi pouzivej SHA1 (taky sql funkce) nebo MD5(taky v sql) |
||
Radim Hejhal Profil |
#5 · Zasláno: 21. 7. 2008, 13:17:02
Aha, myslel jsem že je to jeho php funkce. V tom případě je to tu ve špatné diskuzi -> Databáze na webu.
|
||
Jakub Fojtik Profil * |
#6 · Zasláno: 21. 7. 2008, 14:40:31
Děkuju, konečně mi to funguje, chyba byla v tom, že jsem se řídil knížkou o Mysql 3 a na localhostu mám Mysql 5. No a v 3-jce píšou, že Password() udělá 16 znaků, takže jsem to měl v CHAR(16) a porovnával vlastně useknuté 16-ti místné heslo s tím 41-místným. A omlouvám se, že jsem to napsal do špatné diskuze, ale už jsem spěchal a nemohl jsem téma MySql najít.
|
||
Časová prodleva: 16 let
|
0