webForumDet fria alternativet

where field in...

4 svar · 225 visningar · startad av K@llen

K@llenMedlem sedan mars 20032 654 inlägg
#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

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

Like går som sagt inte

K@llenMedlem sedan mars 20032 654 inlägg
#3

Okey, tack LarsG. :)

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

MoonCowMedlem sedan juni 2001225 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...

cyprysMedlem sedan dec. 20003 105 inlägg
#5

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

Genererad på 384 ms · cache AV · v20260730165559-full.f96bc7eb