Ett mellanslag kanske?
SQL = "INSERT INTO tabell" & "VALUES('" & namn & "')"
bör vara
SQL = "INSERT INTO tabell VALUES('" & namn & "')"
4 svar · 195 visningar · startad av sudden
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.
Ett mellanslag kanske?
SQL = "INSERT INTO tabell" & "VALUES('" & namn & "')"
bör vara
SQL = "INSERT INTO tabell VALUES('" & namn & "')"
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
Hur många kolumner har du i "tabell"? Prova med
SQL = "INSERT INTO tabell (namnet_på_kolumnen) VALUES('" & namn & "')"
Tänk att felen alltid ska vara så simpla
Tack nu funkar det