Autor Zpráva
Monkeys
Profil *
Potreboval by som poradit ohladne tohto sql dotazu

$dotaz =  mysql_query('SELECT objednavky.*, zakaznici.*  FROM objednavky LEFT JOIN zakaznici USING(id_zakaznika) WHERE zakaznici.meno ="'.$_GET['uzivatel'].'" OR objednavky.var_symbol = "'.$_GET['var_symbol'].'" ORDER BY objednavky.datum_objednavky DESC LIMIT '.$pociatok.','.$zobrazit.'');

nieco v takom zmysle aby druha cast dotazu zakaznici.meno=... bolo zobrazene v zmysle CONCAT(meno,priezvisko) AS meno FROM uzivatelia a potom k tomu pridat $_GET['uzivatel']

vdaka
M.
Tori
Profil
Monkeys:
Jestli chcete v části WHERE porovnávat hodnotu z GET s výsledkem CONCAT(meno, priezvisko), tak to bude pomalé, velmi. Buď by se totiž muselo ukládat i v DB to spojené jméno+příjmení do samostatného sloupce (což je zbytečné), anebo by se nedaly využít indexy a MySQL by musela pro jeden každý řádek tabulky spojit jméno+příjmení a porovnat.

Spíš bych do GET předávala jméno a příjmení odděleně a porovnávala je taky odděleně. A před vložením dat zvenčí do SQL dotazu je vhodné je ošetřit proti SQL injection (funkcí mysql_real_escape_string).

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: