Autor Zpráva
Bonzak
Profil *
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
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 *
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
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.

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