Autor | Zpráva | ||
---|---|---|---|
Milan Sobotka Profil |
#1 · Zasláno: 13. 2. 2015, 11:45:29
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 |
#2 · Zasláno: 13. 2. 2015, 11:57:16
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 |
#3 · Zasláno: 13. 2. 2015, 12:34:53
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 |
#4 · Zasláno: 13. 2. 2015, 12:36:54 · Upravil/a: Milan Sobotka
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 |
#5 · Zasláno: 13. 2. 2015, 12:42:25
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... :-)
|
||
Časová prodleva: 10 let
|
0