Autor | Zpráva | ||
---|---|---|---|
dawe Profil * |
#1 · Zasláno: 23. 10. 2010, 09:25:25
Zdravim, při pokusu o přihlášení mi to vypíše vždycky tuto hlášku
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in $result = mysql_query("SELECT * FROM admin WHERE login='$login' AND heslo='$heslo'"); $overeni = mysql_num_rows($result); $row = mysql_fetch_array($result); |
||
Joker Profil |
#2 · Zasláno: 23. 10. 2010, 09:32:13
dawe:
Není tam ošetřená situace kdy dotaz selže, tzn.: za mysql_query: if(!$result) něco
Pro řešení tohoto problému bude v takovém případě zajímavé: - Jak vypadá dotaz odeslaný do databáze (tj. s doplněním proměnných). - Výsledek mysql_error, tj. k jaké chybě v databázi došlo. |
||
dawe Profil * |
#3 · Zasláno: 23. 10. 2010, 09:48:00
Joker:
ok ošetřim to..ale jinak to začalo chodit z ničeho nic :-O jinak díky za rychlou odpověď |
||
AM_ Profil |
#4 · Zasláno: 23. 10. 2010, 14:28:37
pokud nemáš ošetřené proměnné mohlo to být tím.
t.j. před dotazem bys měl mít $login = mysql_real_escape_string($login); pokud je heslo v nějakém hashi, tak escape nepotřebuje, tam je jistota, že se žádné znaky, co by dělaly neplechu, neobjeví. Pokud hesla zahashovaná nemáš, a) to není moc bezpečné vůbec b) bys ho měl prohnat taky tou funkcí. Dobře napsaný dotaz by neměl nikdy selhat tím způsobem, že mysql query vrátí false (leda v případě, že nejsi spojen s databází nebo v ní někdo smazal či upravil strukturu tabulek) |
||
Časová prodleva: 14 let
|
0