webForumDet fria alternativet
Logga in / Bli medlem

where field in...

Databaser & SQL

4 svar · 227 visningar · startad av K@llen

Medlem sedan mars 20032 667 inlägg
Trådstart#1

Vilka regler gäller för IN i SQL. Om man har ett textfält i ett formulär där man anger flera kommaseparerade ord för att sedan göra om dem till en array med explode() eller split(). Kan man då skriva:

$searchWord = $_POST['search'];
$arraySearchWord = explode( ",", $searchWord);

$sql ="select * from table where title in " . $arraySearchWord . ""

Eller går det enbart vid numeriska värden?
Om man vill använda LIKE då måste man antagligen loopa igenom arrayen eller?

/r snyggade till koden lite

Medlem sedan dec. 200012 464 inlägg
#2
$searchWord = "('" . str_replace(",","','",$_POST['search']) . "')";
sql ="select * from table where title in $arraySearchWord";

Like går som sagt inte

Medlem sedan mars 20032 667 inlägg
#3

Okey, tack LarsG. :)

Får pula ihop någon fullösning. :e

Medlem sedan juni 2001223 inlägg
#4
sql ="select * from table where title in " & arraySearchWord

funkar det i asp med?
eller det var nog en dum fråga har jag på känn...

Medlem sedan dec. 20003 563 inlägg
#5

Det hänger på databasmotorn, inte språket applikationen är skriven i.
Det funkar!

260 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)