30. november 2003 - 01:45
Der er
1 løsning
Database + asp problem (request) komando
<%
pageid = request("pid")
table_C = request("defaultgroup")
Function db_call_pagetitle()
SQL = "Select * FROM " & table_C & " WHERE page_id=" & pageid
Set RS = Conn.Execute(SQL)
Response.Write RS("page_title")
RS.Close
Set RS = Nothing
End Function
%>
jeg bruger guid...
Hvorfor kan jeg ikke hente den direkte som almindlige tal...jeg har prøvet skifte til 123 nr. og det kører bare
Det gør guid også...hvis jeg bruger tegnet ' i starten og i slutningen af min request("pid") !
30. november 2003 - 02:34
#1
Prøv at brug:
pageid = Request.QueryString("pid")
Og hvis det skal være helt rigtig skal du også lave en replace på dine inputs, så du er sikker på at folk ikke kan "rode" i din DB...
Altså:
pageid = Replace(Request.QueryString("pid"), "'", "''")
Du kan også bruge funktionen "Cint" til at tjekke/omskrive din værdi til et helt tal...
Altså:
pageid = Cint(Request.QueryString("pid"))
Prøv evt. med følgende kode:
<%
pageid = Replace(Request.Querystring("pid"), "'", "''")
table_C = Replace(Request.QueryString("defaultgroup"), "'", "''")
Function db_call_pagetitle()
If isNumeric(pageid) Then
SQL = "Select * FROM " & table_C & " WHERE page_id=" & pageid
Set RS = Conn.Execute(SQL)
Response.Write RS("page_title")
RS.Close
Set RS = Nothing
Else
Response.Write "Fejl: ""pid"" er ikke et tal!"
End If
End Function
%>