webForumDet fria alternativet

Insert into?!

4 svar · 195 visningar · startad av sudden

suddenMedlem sedan okt. 2002341 inlägg
#1

Hej!
Jag ska bara göra ett litet test med en MySQL databas och kolla så att den funkar.
Så jag har gjort en liten sida där man skriver in sitt namn och sen så läggs namnet in i databasen.
Koden ser ut såhär:

<%@Language=VBScript%>
<html>
<body>
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=test;USER=root;PASSWORD=;" 
SQL = "Select * From tabell"
set rs = conn.execute(SQL)
%>

<form action="skicka.asp?page=send" method="post">
  <input type="text" name="namn"><br>
  <input type="submit" value="skicka">
</form><br><br>
<%
Do While Not rs.EOF
Response.Write "Namn:" & rs("namn") & "<br>"
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing
%>

<%If Request.Querystring("page") = "send" Then
Dim Namn
Namn = Request.Form("namn")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=test;USER=root;PASSWORD=;" 
SQL = "INSERT INTO tabell" & "VALUES('" & namn & "')"

[B]conn.Execute(SQL)[/B]
Set conn = Nothing
conn.Close
%>
Du har nu lagt in ditt namn i vår databas :)<a href="skicka.asp">Tillbaka</a>
<%End If%>
</body>
</html>

Den feta raden är rad 33.
Men när jag ska köra den så får jag det här felmeddelandet:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[MySQL][ODBC 3.51 Driver][mysqld-4.0.21-nt]Du har något fel i din syntax nära ''Peter Nilsson')' på rad 1

/sidor/skicka.asp, line 33

Vart ligger felet??
Tacksam för svar.

PeeerMedlem sedan mars 20025 907 inlägg
#2

Ett mellanslag kanske?

SQL = "INSERT INTO tabell" & "VALUES('" & namn & "')"
bör vara
SQL = "INSERT INTO tabell VALUES('" & namn & "')"
suddenMedlem sedan okt. 2002341 inlägg
#3

Nu står det så här istället:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[MySQL][ODBC 3.51 Driver][mysqld-4.0.21-nt]Antalet kolumner motsvarar inte antalet värden på rad: 1

/sidor/skicka.asp, line 33

PeeerMedlem sedan mars 20025 907 inlägg
#4

Hur många kolumner har du i "tabell"? Prova med

SQL = "INSERT INTO tabell (namnet_på_kolumnen) VALUES('" & namn & "')"
suddenMedlem sedan okt. 2002341 inlägg
#5

Tänk att felen alltid ska vara så simpla :)
Tack nu funkar det ;)

126 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)