Kom ihåg mig?
Home Menu

Menu


Problem med UPDATE-kommandot i SQL

Ämnesverktyg Visningsalternativ
Oläst 2007-11-05, 07:14 #1
vojma vojma är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2007
Inlägg: 7
vojma vojma är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2007
Inlägg: 7
Hej - har problem med att uppdatera en tabell i en databas.

Här är ASP-koden:


namn = Request.form("tb_name")
ar = Request.form("tb_year")
manad = Request.form("tb_month")
dag = Request.form("tb_day")
bild = Request.form("tb_pict")
text = Request.form("tb_text")
datum = manad & "-" & dag

strSQL3 = "UPDATE tbl_main_frame_birthday SET "
strSQL3 = strSQL3 & "namn='" & namn & "', "
strSQL3 = strSQL3 & "ar='" & ar & "', "
strSQL3 = strSQL3 & "datum='" & datum & "', "
strSQL3 = strSQL3 & "bild='" & bild & "' "
---> 'strSQL3 = strSQL3 & "text='" & text & "' "
strSQL3 = strSQL3 & "WHERE id = " & btn_1
response.write("
strsql=" & strsql3 & "
")
Set rstRS3 = objConn.Execute(strSQL3)

Det är raden som är markerad med en pil som inte fungerar. Så fort jag tar bort fnutten i början av raden så får jag felmeddelandet:

"Syntax error in UPDATE-statement"

Databas: Access2000, alla fält är av text-typ utom id som är räknare.
Webserver: IIS, Win2000Server


Vad kan detta bero på? :huh: :huh: :huh:

/V
vojma är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-11-05, 07:38 #2
Jan Eriksson Jan Eriksson är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2004
Inlägg: 1 352
Jan Eriksson Jan Eriksson är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2004
Inlägg: 1 352
Du saknar ett komma på raden innan:

strSQL3 = strSQL3 & "bild='" & bild & "', "
---> 'strSQL3 = strSQL3 & "text='" & text & "' "

Tänk på att din kod är öppen för SQL-injektion.
Jan Eriksson är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-11-05, 09:30 #3
gooses avatar
goose goose är inte uppkopplad
Flitig postare
 
Reg.datum: Jun 2007
Inlägg: 451
goose goose är inte uppkopplad
Flitig postare
gooses avatar
 
Reg.datum: Jun 2007
Inlägg: 451
text kan vara en datatyp i databasen (osäker på vilken du använder) och då får du syntaxfel på updatekommandot. Prova att köra
strSQL3 = strSQL3 & "[text] ='" & text & "' " istället.
goose är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-11-05, 10:46 #4
Frejs avatar
Frej Frej är inte uppkopplad
Flitig postare
 
Reg.datum: Jul 2004
Inlägg: 463
Frej Frej är inte uppkopplad
Flitig postare
Frejs avatar
 
Reg.datum: Jul 2004
Inlägg: 463
Vill du inte inkludera år i datumet?

Edit: Såg att du hade en separat kolumn för det...
Frej är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-11-10, 11:22 #5
vojma vojma är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2007
Inlägg: 7
vojma vojma är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2007
Inlägg: 7
Citat:
Originally posted by Jan Eriksson@Nov 5 2007, 08:38
Du saknar ett komma på raden innan:
strSQL3 = strSQL3 bild= bild ,
--- strSQL3 = strSQL3 text= text
Tänk på att din kod är öppen för SQL-injektion.
Kommatecknet är borttaget för att det ska fungera till dess att jag får TEXT:en att uppdateras.

Vad menas med öppen för SQL-injektion?

/V
vojma är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-11-10, 11:24 #6
vojma vojma är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2007
Inlägg: 7
vojma vojma är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2007
Inlägg: 7
Citat:
Originally posted by goose@Nov 5 2007, 10:30
text kan vara en datatyp i databasen (osäker på vilken du använder) och då får du syntaxfel på updatekommandot. Prova att köra
strSQL3 = strSQL3 [text] = text istället.

Använder Access2000.

Har provat att döpa om text till text2 utan resultat.

/V
vojma är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-11-10, 11:37 #7
Jan Eriksson Jan Eriksson är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2004
Inlägg: 1 352
Jan Eriksson Jan Eriksson är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2004
Inlägg: 1 352
Citat:
Originally posted by vojma@Nov 10 2007, 12:22

Vad menas med öppen för SQL-injektion?
Här kan du läsa mer.
http://www.swesecure.com/quick/sql-injection.aspx

Hur ser texten ut som du tänker spara? Innehåller den tex ett ' så får du syntax error. (Hör ihop med SQL-injektion)
Jan Eriksson är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-11-10, 14:44 #8
Roberts avatar
Robert Robert är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jan 2004
Inlägg: 2 103
Robert Robert är inte uppkopplad
Klarade millennium-buggen
Roberts avatar
 
Reg.datum: Jan 2004
Inlägg: 2 103
Visa för oss vad strSQL3 innehåller så slipper vi spekulera så mycket.
Robert är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-11-15, 13:11 #9
vojma vojma är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2007
Inlägg: 7
vojma vojma är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2007
Inlägg: 7
Åhhh - herregud... Och allt jag vill göra är att mina vänners födelsedagar ska komma upp automatiskt en vecka innan de fyller år...

Tror att jag bortser från riskerna med SQL-injektion...

Tack dock för all input.

/V
vojma är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 22:32.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017