01. december 2007 - 18:03Der er
13 kommentarer og 1 løsning
Et slemt rod med forbindelse i update fil til Mysql
Hej. Nu må jeg kapitulere og spørge om hjælp. Jeg har længe rodet med en fil der skal kunne opdatere en post i min Mysql database.
Jeg har fra begyndelsen haf problemer med forskellige fejl der har skyldtes forbindelsen til databasen.
Jeg er netop skiftet fra access til mysql, og eftersom jeg har prøvet en masse forskellige ting for at få det til at virke, ser koderne efterhånden sikkert meget mærkelige ud, men her er de:
'--opret forb. til db via connectionfil-- Set RSvareDetail = Server.CreateObject("ADODB.Recordset") RSvareDetail.ActiveConnection = conn '--opret forb. til db via connectionfil slut-- RSvareDetail.Open "SELECT * FROM varer",conn %>
Man kan langt bedre se eventuelle fejl, hvis man indrykker koden som vist nedenfor.
Jeg har rettet et par fejl, bl.a. er en
... Else If ...
blevet lavet om til en:
... ElseIf ....
hvilket er noget helt andet:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%> <% Response.Buffer = True %> <!--#include file="Connections/MySqlConn.asp" --> <% If Request.QueryString("pageid") = "update" Then '-- Billede upload script start -- Set Upload = Server.CreateObject("Persits.Upload") Upload.OverwriteFiles = False
Count = Upload.SaveVirtual("images/varer/")
Set img1 = Upload.Files("img1") '-- Billede upload script slut --
'-- Connection start -- Set rs = Server.CreateObject("ADODB.Recordset") rs.ActiveConnection = conn '-- "Connection start" slut --
strSQL = "UPDATE varer SET dato = date()"
If Upload.Form("fjern") = "true" Then strSQL = strSQL & ", img1='/images/varer/no_image.jpg'" ElseIf Not img1 Is Nothing Then strSQL = strSQL & ", img1 = '/images/varer/" & img1.FileName & "'" End If
rs.Open strsql, conn, 1, 3 '-- "opdater record" slut
Response.Redirect("vareDetail.asp?opdatering=ok&id=" & upload.form("id")) Else '--opret forb. til db via connectionfil-- Set RSvareDetail = Server.CreateObject("ADODB.Recordset") RSvareDetail.ActiveConnection = conn '--opret forb. til db via connectionfil slut--
RSvareDetail.Open "SELECT * FROM varer", conn %>
Jeg ved ikke om du har mere kode på din side, men her mangler der ad en afsluttende Enf If.
Hej Nielle. Tak for dine forslag. :-) Jeg har mere kode på siden end det jeg viser, og den sidste "end if" kommer for enden af siden. Der er ikke umiddelbart nogen problemer med mine "if statements" linje 35, hvor fejlen er, hedder: rs.Open strsql, conn, 1, 3
Så jeg er ret sikker på at det er den første connection og min update record der er skyld i, at siden ikke virker. Ellers ville jeg ikke kunne få vist selve updateformen.
Hmm. Så får jeg fejlen: Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [MySQL][ODBC 3.51 Driver][mysqld-5.0.41-log]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '''' at line 1
Fejlen fra 01/12-2007 21:43:12 tyder på at der er en fejl i selve SQL sætningen. Prøv derfor at udskrive den for at den sendes igenne Execute(). Hvad er resultatet?
Når du siger udskrive den, mener du så, at lave en Select, i stedet for en update?
Prøvede lige at ligge dette ind, hvor jeg kalder forbindelsen: conn.CursorLocation = 3
Det giver fejlen: [MySQL][ODBC 3.51 Driver][mysqld-5.0.41-log]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' varenavn='cdxcsd', beskrivelse='bfgbfgb', pris='545', lagerstatus='bfgbfgb', an' at line 1
men er det et skridt tættere på en løsning, eller et skridt længere væk?
DEBUG: update varer set, varenavn='uuuujjjj', beskrivelse='bfgbfgbhhhuuuu', pris='5666', lagerstatus='bfgbfgbjj', antal='4', gruppe='trgfg', tilbud='u', farve='' where id = 2''
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[MySQL][ODBC 3.51 Driver][mysqld-5.0.41-log]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' varenavn='uuuujjjj', beskrivelse='bfgbfgbhhhuuuu', pris='5666', lagerstatus='bf' at line 1
Nu fik jeg det til at virke: havde ikke lige set, at der skulle & i stedet for + til ved WHERE Men det er jo klart, når der er '' udenom... Smid et svar :-)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.