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é.

  1. 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!
  2. 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
  3. 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í.
  4. Ty názvy sloupců v dotazu samozřejmě podle toho co tam máte použité.
  5. 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 :-)
  6. Mozna by bylo dobre zminit, aby aspon nick byl klicem/indexem v te sql tabulce.

← Zpět na všechna témata