M Melea Medlem sedan juli 2003 3 147 inlägg Frågan 3 juli 2003 17:49 #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
M Melea Medlem sedan juli 2003 3 147 inlägg Uhm! Den uppdaterar tydligen innehållet bara att felmeddelandet kommer upp.
L LarsG Medlem sedan dec. 2000 12 464 inlägg 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.
M Melea Medlem sedan juli 2003 3 147 inlägg 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.
M Melea Medlem sedan juli 2003 3 147 inlägg 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 ;)