Autor | Zpráva | ||
---|---|---|---|
Bonzak Profil * |
#1 · Zasláno: 24. 3. 2010, 02:05:48
Ahoj všichni , Mám tabulku a potřeboval bych z ní vybrat pouze řádek user a pass a potřeboval bych na výstupu jenom jeden řádek tzv, příklad mluví za vše. :) předem děkuji
Tabulka name - value ---------------------------- user - admin pass - test jazyk - cz Výstu user - pass --------------------- admin - test |
||
mckay Profil |
#2 · Zasláno: 24. 3. 2010, 05:54:52 · Upravil/a: mckay
Bonzak:
Nemluví to za vše :). Možná, že chceš vybrat jen hodnoty sloupců user a admin SELECT user,pass FROM tabulka Nebo, možná, že chceš vybrat jen jeden sloupec pro konkrétního uživatele. Pak si třeba v $_GET předej ID a podle toho to vytáhni: SELECT user,pass FROM tabulka WHERE user.id='{$_GET["id"]}' Můžeš (musíš) si to ještě když tak ošetřit. |
||
Kajman_ Profil * |
#3 · Zasláno: 24. 3. 2010, 08:51:20
select (select value from tabulka where name='user') as user, (select value from tabulka where name='pass') as pass from dual Oba poddotazy musí vrátit maximálně jeden řádek. |
||
imploder Profil |
#4 · Zasláno: 24. 3. 2010, 12:09:35
Bezpečnostní poznámka k mckayovu SELECT user,pass FROM tabulka WHERE user.id='{$_GET["id"]}' - raději takhle:
$id = mysql_real_escape_string($_GET["id"]); mysql_query("SELECT user,pass FROM tabulka WHERE user.id='$id'"); Jinak by tam mohl hacker něco nepěkného podšopnout, co by změnilo dotaz. Je asi lepší vůbec do dotazů nikdy přímo proměnné ze vstupu ($_GET, $_POST, $COOKIE) nedávat, protože pak není poznat, když se na escapování zapomene. |
||
Časová prodleva: 14 let
|
0