Toon posts:

[SQL] "SELECT * FROM variabele tabelnaam

Pagina: 1
Acties:
  • 316 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik wil graag eenSQL statement variabelmaken.
Ik heb het volgende:

Ikhaal een waarde uit de querystring.
page = request.querystring("page")

Nu ik verder met de SQL code:

SQL = "SELECT * FROM ' " & page & " ' "

Maarhij pakt page niet als variabele, kan dit eigenlijk wel of doe ik iets verkeerd?

Lucas

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 14-08 12:38

Crazy D

I think we should take a look.

Druk eerst eens de waarde van page uit nadat je deze uit de querystring uitleest.
Als die waarde goed is, druk daarna de inhoud van de SQL variabele af. En er hoeven geen ' en ' om de tabelnaam heen...

Exact expert nodig?


Verwijderd

Topicstarter
dus dit,

response.write page
response.write SQL

de page klopt.
dus ik moet de sql code ditmaken.
SQL = "SELECT * FROM " & page & ""

  • TaZz
  • Registratie: Juni 2000
  • Laatst online: 28-07 12:43

TaZz

Nostalgist

Haal de enkele quotes weg (') et voila!

Die laatste & "" kan ook weg!

[ Voor 35% gewijzigd door TaZz op 23-01-2003 09:39 ]


Verwijderd

Nog even een advies. Wat als "page " nu leeg is. Dan gaat je SQL statement dus fout. Tip:
ASP:
1
2
3
4
5
6
if not page="" then
 SQL = "SELECT * FROM " & page
 'execute the SQL query
else
 Response.Write("Error, variabele niet gevult")
end if

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:24

gorgi_19

Kruimeltjes zijn weer op :9

* gorgi_19 wilt tussen neus en lippen wel even opmerken dat je een waardeloze beveiliging hebt en met een beetje pech grote schade kan aanrichten; zie oa het gedeelte over SQL Injection attacks.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

gorgi_19 schreef op 23 januari 2003 @ 11:01:
* gorgi_19 wilt tussen neus en lippen wel even opmerken dat je een waardeloze beveiliging hebt en met een beetje pech grote schade kan aanrichten; zie oa het gedeelte over SQL Injection attacks.
mja, als je zelf weet wat in die var "page" zit ;)
maw als je die eerder in je prog hebt gedefinieerd ;)

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 09-01 11:25

D2k

Erkens schreef op 23 januari 2003 @ 11:37:
[...]

mja, als je zelf weet wat in die var "page" zit ;)
maw als je die eerder in je prog hebt gedefinieerd ;)
dan moet je alsnog met bijv een case afvangen of het klopt ;) en in je default een error zetten ofzow

rule nr1: never trust user input

Doet iets met Cloud (MS/IBM)


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

D2k schreef op 23 januari 2003 @ 11:39:

[...]
dan moet je alsnog met bijv een case afvangen of het klopt ;) en in je default een error zetten ofzow

rule nr1: never trust user input
mja wie zegt dat "page" bij een user vandaan komt? :P

Java:
1
2
3
4
String page = "tblUser";
...

String sql = "SELECT * FROM " + page;


:+

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 09-01 11:25

D2k

Erkens schreef op 23 januari 2003 @ 11:42:
[...]

mja wie zegt dat "page" bij een user vandaan komt? :P

Java:
1
2
3
4
String page = "tblUser";
...

String sql = "SELECT * FROM " + page;


:+


Verwijderd schreef op 23 January 2003 @ 09:28:
Ikhaal een waarde uit de querystring.
page = request.querystring("page")


;)

Doet iets met Cloud (MS/IBM)


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:24

gorgi_19

Kruimeltjes zijn weer op :9

* gorgi_19 gokt dat als je je tabellen op deze manier opbouwd, je waarschijnlijk geen 'normalisatie' hebt toegepast.
En als je dit al niet hebt gedaan, dan heb je imho met een aan zekerheid grenzende waarschijnlijkheid ook nog nooit gehoord van SQL Injection Attacks, wat op zich een stuk 'verder' ligt dan gewoon de basisregels van normalisatieniveua's toepassen.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Freee!!
  • Registratie: December 2002
  • Laatst online: 16:25

Freee!!

Trotse papa van Toon en Len!

Erkens schreef op 23 January 2003 @ 11:42:
[...]
mja wie zegt dat "page" bij een user vandaan komt? :P
:+
De meeste programmeurs zijn ook niet meer dan gebruikers van editors en compilers >:)

Ik kijk mijn eigen code altijd drie keer na.

The problem with common sense is that sense never ain't common - From the notebooks of Lazarus Long

GoT voor Behoud der Nederlandschen Taal [GvBdNT


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

ok, sorry, overheen gelezen :X

offtopic:
[11:47.10] <D2k> lees de draad voor je blaat
[11:47.34] <Erkens|school> komt omdat ik me @ school niet kan concentreren :+
[11:47.40] <D2k> 1000 keer opschrijven, scannen en aan mij mailen

:X

edit:
offtopic:
D2k: check je mail :+ (altijd al eens willen zeggen :P)

[ Voor 14% gewijzigd door Erkens op 23-01-2003 14:09 . Reden: ot2 ]


Verwijderd

Topicstarter
Nou ja de code:
if not page="" then
SQL = "SELECT * FROM " & page
'execute the SQL query
else
Response.Write("Error, variabele niet gevult")
end if

werkt in iedergeval ik werk alleen met en paar namen voor page:
data, nieuws, solaria, menu.

Dus

if not page="" or page="nieuws" or page="data" or page="solaria" or page="menu" Then
SQL = "SELECT * FROM " & page
ELse
Response.Write("error, kan database niet openen")
End If.

Nu heb ik mijn pagina redelijk ingekapseld of fouten, en inderdaad ik werk met UltraEdit om mijn asp sites te bouwen. Dit gaat erg mooi!.....!!

Verwijderd

Topicstarter
gorgi_19 schreef op 23 januari 2003 @ 11:45:
* gorgi_19 gokt dat als je je tabellen op deze manier opbouwd, je waarschijnlijk geen 'normalisatie' hebt toegepast.
En als je dit al niet hebt gedaan, dan heb je imho met een aan zekerheid grenzende waarschijnlijkheid ook nog nooit gehoord van SQL Injection Attacks, wat op zich een stuk 'verder' ligt dan gewoon de basisregels van normalisatieniveua's toepassen.
Inderdaad weet ik niet wat je bedoelt met SQL Injection Attacks.
Maar goed, ik weet mijn probleem, dus daar ging het om!...
Pagina: 1