Autor Zpráva
Milan Sobotka
Profil
Dobrý den.
Potřeboval bych poradit, jak by měl vypadat php skript, aby do databáze msql zapsal určitý text do například řádku s nějakým ID a v tom řádku do určité buňky... Mám databázi na přihlašování. Takže je tam id, email, jmeno, pasword, active, a pak ještě pohlavi. A teď pracuji na nastavení, kde si ten přihlášený nastaví, zda-li je muž nebo žena... A toto aby sed uložilo k tomu danému člověku do buňky pohlavi...
Za odpovědi předem děkuji. :-)
Taps
Profil
Milan Sobotka:
Pokud už v tabulce máš nějaké záznamy tak se jedná o tzv. update záznamu. Např. zaktualizuji pohlaví u uživatele, který má id 2
<?
UPDATE tabulka set pohlavi='muž' where id=2
?>
juriad
Profil
Milan Sobotka:
V databázích nesmíš přemýšlet o buňkách. Všechny dotazy vždy pracují se všemi řádky, které vyhoví podmínce (třeba ten Tapsův pracuje se všemi řádky, které mají id=2), často však takový řádek bude jen jeden. Update tedy změní hodnoty v určitých sloupcích všech vyhovujících řádků.
Milan Sobotka
Profil
Díky moc. :-)


A když mám tento kód <?php $vloz ="UPDATE members set sex='muž' where memberID=$memberid"; ?> jak by mělo být v uvozovkách to memberid?
Taps
Profil
Samozřejmě je nutné také zmínit že pro unikátnost id se používá vlastnost auto_increment
juriad
Profil
Milan Sobotka:
Je-li memberid číslo, tak obalené ničím být nemá (tvůj příklad je správně). Naopak je-li memberid textové (třeba pokud je to stjené jako uživatelské jméno), tak bude muset být v apostrofech stejně jako 'muž'.

Také by sis měl být vědom problemtiky SQL Injection. Třeba aby nestačilo uživateli změnit memberid v adrese a měnit tak pohlaví jiných uživatelů (pokud memberid přenášíš v adrese).
Milan Sobotka
Profil
Oběma vám moc děkuju. Opět jste mi poradili... :-)

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