Avatar billede engberg Juniormester
04. november 2005 - 11:28 Der er 5 kommentarer og
1 løsning

Sql query hvor id skal søges fra et array

Jeg vil gerns hente de rækker fra min tabel, hvor id er et af en flok fra et array - altså:

mysql_query("SELECT * FROM Tabel WHERE Brugerid='$Mit_Array'",$db);

Hvordan gør man det?
Avatar billede bromer Nybegynder
04. november 2005 - 11:31 #1
mysql_query("SELECT * FROM Tabel WHERE Brugerid IN (".implode(",",$Mit_Array).")",$db);
Avatar billede jaw Nybegynder
04. november 2005 - 11:31 #2
Måske således:
mysql_query("SELECT * FROM Tabel WHERE Brugerid IN (".implode(",",$mitArray).")");
Avatar billede bromer Nybegynder
04. november 2005 - 11:31 #3
Og det kan skrives meget pænere som:

mysql_query(sprintf("SELECT * FORM tabel WHERE brugerid IN (%s)",implode(",",$Mit_Array)));
Avatar billede engberg Juniormester
04. november 2005 - 11:39 #4
bromer - hvorfor er det nederste pænere??
Avatar billede engberg Juniormester
04. november 2005 - 11:43 #5
bromer giv et svar
Avatar billede bromer Nybegynder
04. november 2005 - 11:54 #6
Jeg synes det nederste er pænere fordi det er mere overskueligt. Når jeg skriver strenge hvor jeg skal smide en masse data ind bruger jeg altid sprintf(). Lige med hensyn til database bruger jeg dog PEAR DB, hvor man kan benytte placeholders til det. Så bliver det først rigtig pænt.

Placeholders er karakterer du indsætter i din streng som bliver erstattet før din SQL rammer databasen. For eksempel kunne du med et pear objekt i $db skrive query som.

$db->query("SELECT * FROM Table WHERE Brugerid IN (!)",$Mit_Array);

Her benyter man "!" fordi den bare skal smide det ind uden at tænke på typerne. Hvis du havde et id i variablen $id kunne du gøre sådan her:

$db->query("SELECT * FROM Table WHERE Brugerid = ?",$id);
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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