Autor Zpráva
dawe
Profil *
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
a to jak u $overeni tak i $row

$result = mysql_query("SELECT * FROM admin WHERE login='$login' AND heslo='$heslo'");
                                $overeni = mysql_num_rows($result);
                                $row = mysql_fetch_array($result);
Joker
Profil
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 *
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
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)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0