webForumDet fria alternativet

Problem med LIKE

3 svar · 236 visningar · startad av Galifante

GalifanteMedlem sedan sep. 200246 inlägg
#1

Har problem med en LIKE-sats.

På sid 1 ska man kunna välja vilken bokstav man vill sortera på. Har en SELECT där man väljer bokstav:

...
SQL ="SELECT * FROM sadaqa "
		rs.Open SQL, MinCon
		%>
			<DIV align="center">
			<form>
				<select name=namn Onchange="location.href=(form.namn.options[form.namn.selectedIndex].value)">
				<option value="0">Sortera inlägg</option>
				<option value="namn.asp?SQL2=WHERE kategori='p' AND namn LIKE 'A%' ">A</option>

SQL2 skickas sedan till sid 2 som en variabel och plockas upp i koden där värdena ska listas.

Det som kommer med till sid 2 är följande:
SELECT * FROM sadaqa WHERE kategori='p' AND namn LIKE 'A' Procenttecknet faller alltså bort på vägen och det gör att inget listas, för jag har ingen post som bara heter A.

Några tips på hur jag får %-tecknet att hamna där det ska så listningen funkar?

@ndersMedlem sedan juni 200032 969 inlägg
#2

Det är inte säkerhetsmässigt helt bra att köra SQL-frågor som du hämtar från querystrings, utan att kolla av dem innan.

- - -

Om du ska skicka procenttecken i quersytring så måste du url-koda det.

option value="namn.asp?SQL2=WHERE kategori='p' AND namn LIKE 'A<%=Server.URLEncode("%")%>' ">A</option>

Mvh,

GalifanteMedlem sedan sep. 200246 inlägg
#3

Det funkar!!!

Hejsan @nders!

Tusen tack! Nu funkar det! :bire

Menar du att det är bättre att köra Request.Form istället för Request.QueryString? Eller finns det nån annan bätrre och säkrare lösning?

@ndersMedlem sedan juni 200032 969 inlägg
#4

Det är bättre att skicka bara det som behövs för att sätta dina villkor i SQL-satsen. Exempel:

<option value="namn.asp?kategori=p&namn=A">A</option>
strSQL = "SELECT * FROM sadaqa WHERE kategori='" & Request.Querystring("kategori") & "' AND namn LIKE '" & Request.Querystring("namn") & "%' "

Nånting sånt.

mvh,

167 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
164 ms — hämta tråd, inlägg och bilagor (db)