Vyber z tabulky
6 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Zdravim, mám toto: $sql = "SELECT * FROM users;"; $vysledek = MySQL_Query($sql, $spojeni); $zaznam = MySQL_Fetch_Row($vysledek); if($zaznam[1]=$nick && $zaznam[2]=$heslo) ale potřeruji aby bola splnena podmienka len kedy bude ten $zaznam[1] a [2] ze stejného řádku. neboli aby měli stejné ID $zaznam[0] Děkuji!
-
mysql_fetch_* nacte vzdy jeden radek, nikdy ne pulku jednoho a druhou pulku z jinyho, takze to bude vzdy ze stejneho radku nastuduj si rozdil mezi = a ==, dale pak mysql_fetch_assoc, pouziti mysql_error
-
Vaše řešení má mouchy. Chybně zadaná podmínka je pouze drobnost. Hlavní problém je ta podstata. To co jste napsal, udělá jen to, že vezme pouze první záznam řádku v tabulce users a porovnává jméno a heslo. Takže podmínka by byla splněna jen tehdy, pokud se přihlásí ten uživatel, který je uveden na prvním místě (řádku). Ostatní maji smůlu. Řešení jsou dvoje. A to buď na úrovni SQL nebo na úrovni PHP. Pomocí SQL: Stačí upravit dotaz: "SELECT * FROM users WHERE nick='$nick' AND heslo='$heslo';". Potom stačí podmínku upravit na existenci uživatele ($zaznam==false). Pomocí PHP: Musíte volat MySQL_Fetch_Row() vícetkrát až na konec záznamu. K tomu použijete cyklus: while($zaznam = MySQL_Fetch_Row($vysledek)) { if() } Uvnitř cyklu provedete vámi uvedenou podmínku. První varianta pomocí SQL je ideální.
-
Ty názvy sloupců v dotazu samozřejmě podle toho co tam máte použité.
-
Děkuji. Ty == tam mám akorát teď když jsem to sem z paměti psal tak jsem udělal malou chybku :-) Dobře děkuji, jdu na tu sql variantu :-)
-
Mozna by bylo dobre zminit, aby aspon nick byl klicem/indexem v te sql tabulce.