Avatar billede martinb82 Nybegynder
23. juni 2010 - 18:59 Der er 4 kommentarer og
1 løsning

Brug array som søgning i sql sætning

Jeg har et stykke kode som jeg håber kan gøres smartere med jeres hjælp :)

Jeg har en tabel med bl.a. en kolonne der hedder "gruppe_id". I den kolonne står der et tal. Det jeg gerne vil, er at jeg vil bruge et array med et vilkårligt antal tal, til at søge records ud, hvor disse tal matcher kolonnen "gruppe_id".

Kan jeg lave noget i stil med?:
SELECT * FROM tabel1 WHERE gruppe_id = 'array1'

Sådan at den finder hver record hvis gruppe_id er indeholdt i arrayet?
Avatar billede ksoren Nybegynder
23. juni 2010 - 19:12 #1
WHERE gruppe_id IN (1,2,3,4,5,6,...)
Avatar billede martinb82 Nybegynder
23. juni 2010 - 19:19 #2
Altså:

WHERE gruppe_id IN ({$array1})

?
Avatar billede ksoren Nybegynder
23. juni 2010 - 19:32 #3
Nej. Du skal lave array1 om til en kommasepareret liste.

$array1 = array(1,2,3,4);
$s = implode(',', $array1);
echo $s;

Husk: hvis der kan forekomme brugerindtastet data, så skal det valideres for at undgå sql-injektion.
Avatar billede martinb82 Nybegynder
23. juni 2010 - 19:36 #4
Okay, super, det virker :)

Skriv et svar..
Avatar billede ksoren Nybegynder
24. juni 2010 - 08:09 #5
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester