ugrás a tartalomhoz

sql lekérdezés

jens · 2003. Szep. 26. (P), 12.47
Sziasztok !

Hogyan is kéne csinálni ?:))

$query = "select
" & $_GET["oszlop1"] & " ," & $_GET["oszlop2"] & ",
" & $_GET["oszlop3"] & "," & $_GET["oszlop4"] & ",EventPriority FROM dbo.events
where " & $_GET["oszlop1"] & " like '%" & $_GET["oszlop1"] & "%'
and " & $_GET["oszlop2"] & " like '%" & $_GET["oszlop2"] & "%'
and " & $_GET["oszlop3"] & " like '%" & $_GET["oszlop3"] & "%'
and " & $_GET["oszlop4"] & " like '%" & $_GET["oszlop4"] & "%'
and EventDate>" & $_GET["tol"] & "
and EventPriority like '%" & $_GET["messagepriority"] & "%'
order by EventDate";

$result = mssql_query($query); no és itt száll el:((

Mi e helyes szintetika?


A válaszokat előre is köszönöm
 
1

Re: sql lekérdezés

quasimidi · 2003. Szep. 26. (P), 21.19
Szia!

Itt valami nagy gubanc lehet a POST/GET értékek berakásához, sztringbe.
Én a köv. képpen képzelem el a dolgot:

Kiszedjük a POST/GET értékeket. Ehhez javaslom a $_REQUEST tömböt használatát, ahol elérhető mindkét (POST/GET) érték.

$oszlop[] = strip_tags($_REQUEST["oszlop1"]);
$oszlop[] = strip_tags($_REQUEST["oszlop2"]);
$oszlop[] = strip_tags($_REQUEST["oszlop3"]);
$oszlop[] = strip_tags($_REQUEST["oszlop4"]);
$oszlop[] = strip_tags($_REQUEST["oszlop5"]);
$oszlop[] = "EventPriority"';

(esetleg lehet egy for.. ciklust is írni a kiszedéshez)

Tehát az oszlopok értékeit beraktuk egy $oszlop tömbbe, ahonnan szépen össze tudjuk rakni a SELECT-et:

$selectfields = implode(", ",$oszlop);

$where = "SELECT $selectfields FROM akarmi WHERE ".$oszlop[0]." LIKE '%".$oszlop[0]."%'"; // és így tovább.....

Célszerű tömböket használni, mert nagyon könnyű velük dolgozni és egyszerűsítik a kódodat is.
Javaslom böngészd a http://hu.php.net/manual/hu/ oldalt mielőtt beleveted magadat a DB lekérdezésekbe.