Autor | Zpráva | ||
---|---|---|---|
Msdll Profil * |
#1 · Zasláno: 4. 9. 2014, 11:20:54
Dobrý den, potřeboval bych poradit s vyhledáváním uživatelů.
mám v databázi tabulku uzivatele(id_uzivatel, jmeno, prijmeni, email, telefon) a vyhledávací formulář s jedním políčkem kam je možno zadat bud id, jméno uživatele (jméno + příjmení nebo jenom příjmení), email a telefon. zkrátka jakékoliv informace o uživateli. Jak mám toho uživatele vyhledávat? budu muset zjištovat jestli bylo zadáno například telefoní číslo, email nebo jméno a pak vytvořit podmínku where? nebo lze udělat nějaký sql dotaz který by byl schopný nějak inteligentně vyhledávat? Děkuji |
||
H4UnT3R Profil * |
#2 · Zasláno: 4. 9. 2014, 12:24:09
SELECT tvojeSloupecky FROM tabulka WHERE sloupecek LIKE %jmeno% Děláš to v PHP? Pokud ano, nezapomeň udělal sql injection zabezpečení... např. filter_input(), addslashes, htmlspecialchars... |
||
Kajman Profil |
Msdll:
Můžete použít OR a vyhledávat tak ve všech sloupcích. Najde to tedy kdekoliv, ale nebude to tak rychlé, jak vyhledávání v jednom sloupci. Jediná komplikace může být s vyhledáváním jednoho řetězce ve dvou sloupcích (jméno + příjmení) - to asi zkuste vyhledat ve sloučení těch sloupců (název funkce (či operátor) není napříč databázemi sjednocen). |
||
lionel messi Profil |
#4 · Zasláno: 4. 9. 2014, 12:26:36
H4UnT3R:
> Pokud ano, nezapomeň udělal sql injection zabezpečení... > např. filter_input(), addslashes, htmlspecialchars... Pozor. htmlspecialchars nechráni pred sql injection, ale pred XSS (áno, je tiež dôležité jej správne použitie). Addslashes by som však v súvislosti s SQL injection považoval za zlé riešenie, vhodnejšie je použitie príslušnej escapovacej funkcie: mysqli_real_escape_string a pod.
|
||
H4UnT3R Profil * |
#5 · Zasláno: 4. 9. 2014, 12:31:56
Tyjo, vidíš... sám to používám a úplně jsem to opomněl...
|
||
Časová prodleva: 11 let
|
0