webForumDet fria alternativet

MySQL Update i ASP

ASP

4 svar · 405 visningar · startad av Melea

Medlem sedan juli 20033 147 inlägg
Frågan#1

Yow..
Det uppstår ett problem när jag ska uppdatera en MySQL databas.

Felmeddelande:
Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[MySQL][ODBC 3.51 Driver][mysqld-3.23.55-nt]You have an error in your SQL syntax near '' at line 1
/creative/INC/settings.inc, line 7

Och här är dokumentet :-)

<!-- #include file="adovbs.inc" -->
<%
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "Driver={MySQL ODBC 3.51 Driver};server=localhost;uid=xxx;pwd=xxx;database=creative" 

SQL = "UPDATE members SET username = '" & _
Request.Form("username") & "', password = '" &_
Request.Form("password") & "', name = '" & _
Request.Form("name") & "', email = '" & _
Request.Form("email") & "', msn = '" & _
Request.Form("msn") & "', country = '" &_ 
Request.Form("country") & "', city = '" & _
Request.Form("city") & "', month = '" & _
Request.Form("month") & "', day = '" & _
Request.Form("day") & "', year = '" & _
Request.Form("year") & "', signature = '" & _
Request.Form("signature") & "' WHERE ID = " & _
Request.Form("editID") & " "
Connect.Execute(SQL)

Response.Redirect("../admin.asp?go=cs&show=settings")
%>

Kan ngn hjälpa mig att lösa problemet? Vore ytterst tacksam isf ;-)

Tack på förhand

//Jonas "Mellow" Stenberg

Editerat för att öka läsbarhet/Lars

Medlem sedan juli 20033 147 inlägg
#2

Uhm! Den uppdaterar tydligen innehållet bara att felmeddelandet kommer upp.

Medlem sedan dec. 200012 464 inlägg
#3

Kan det vara något problem med att något inputfält innehåller en ' ?

För att du skall vara riktigt säker så använd

SQL = "UPDATE members SET username = '" & _
replace(Request.Form("username"),"'","''") & "', password = '" &_

på alla char-kolumner.

PS Skriv inte så långa rader.

Medlem sedan juli 20033 147 inlägg
#4

Okej sry för den långa raden :P

'" & replace(Request.Form("username"),"'","''") & "'
gjorde tyvärr ingen skillnad, samma fel ändå :/

Så problemet kvarstår, har dubbelkollat (om inte trippel :-)) allting utom UPDATE taggen eftersom jag är osäker på hur den ska skrivas, jag satte precis igång med MySQL till ASP så är ganska vilsen.

Medlem sedan juli 20033 147 inlägg
#5

Det funkar nu iaf :)

Bytte ut min lååååånga kod mot din:

<!-- #include file="adovbs.inc" -->
<%
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "Driver={MySQL ODBC 3.51 Driver};server=localhost;uid=xxx;pwd=xxx;database=creative" 

SQL = "UPDATE members SET username = '" & _
Request.Form("username") & "', password = '" &_
Request.Form("password") & "', name = '" & _
Request.Form("name") & "', email = '" & _
Request.Form("email") & "', msn = '" & _
Request.Form("msn") & "', country = '" &_ 
Request.Form("country") & "', city = '" & _
Request.Form("city") & "', month = '" & _
Request.Form("month") & "', day = '" & _
Request.Form("day") & "', year = '" & _
Request.Form("year") & "', signature = '" & _
Request.Form("signature") & "' WHERE ID = " & _
Request.Form("editID") & " "
Connect.Execute(SQL)

Response.Redirect("../admin.asp?go=cs&show=settings")
%>

Tack så mkt LarsG ;)

262 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)