Microsoft OLE DB Provider for ODBC Drivers error '80040e09'
[MySQL][ODBC 3.51 Driver][mysqld-5.0.45-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 '1 * FROM nyheter ORDER BY datum DESC' at line 1
/start.asp, line 21
<%
Set ObjRSNyhet = ObjConn.Execute("SELECT TOP 1 * FROM nyheter ORDER BY datum DESC")
%>
<%If ObjRSNyhet.eof then%>
<%Else%>
<div id="newstop">
<p><%=DatumFix(ObjRSNyhet("datum"))%> - <%=ObjRSNyhet("rubrik")%> // <%=ObjRSNyhet("skribent")%> - <a href="?visa=nyhetsarkiv">Visa alla</a></p>
</div>
<div id="startnews">
<p><%=makeTags(ObjRSNyhet("inlagg"))%></p>
<%End If%>
</div>
<%
Set ObjRS = ObjConn.Execute("SELECT * FROM medlemmar where id="& CLng(Request.Querystring("userid")) &"")
Set ObjRSCount = ObjConn.Execute("SELECT Count(*) FROM gastbok where till='"& CLng(Request.Querystring("userid")) &"'")
Set ObjRS2 = ObjConn.Execute("SELECT * FROM gastbok where till='"& CLng(Request.Querystring("userid")) &"' Order By datum DESC")
%>
<%
' Deklarera variablerna
Dim objConnection
Dim objRS2
Dim strSQL
Dim lngPage
Dim objRS
Dim ObjRSCount
Dim ObjRS3, ObjRSUser
' Skapa ett Pager-objekt
Set objRS2 = New Pager
' Sätt sidstorlek
objRS2.PageSize = 10
' Sätt aktuell sida
objRS2.Page = Request.QueryString("page")
' Skapa en databaskoppling
Set objConnection = Server.CreateObject("ADODB.Connection")
objConnection.Open = "driver={MySQL ODBC 3.51 Driver}; server=#; uid=#; pwd=#; database=#;"
' Hämta datat till Pager-objektet
strSQL = "SELECT * FROM gastbok where till='"& CLng(Request.Querystring("userid")) &"' Order By datum DESC"
objRS2.Open strSQL, objConnection
' Stäng databaskopplingen
objConnection.Close
Set objConnection = Nothing
%>
<% Do until ObjRS2.eof%>
<%
session("tillgb") = ObjRS2("anvid")
%>
<%
Set ObjRS3 = ObjConn.Execute("SELECT * FROM medlemmar where id="& ObjRS2("anvid") &"")
%>
<%If ObjRS3.eof then%>
Okej. Men tar jag bort den där kodsnutten försvinner inte problemet, så det är nog inte bara där felet ligger. Jag tror den ligger här någonstans;
<%
Option Explicit
Response.Buffer = True
Response.Expires = -1
%>
<!--#include file="Pager.asp"-->
<!--#Include File="includes/datum.asp"-->
<!--#Include File="includes/sqldb.asp"-->
<!--#Include File="functions.asp"-->
<%
If not session("inloggad") = "ja" Then
Response.Redirect "?visa=start"
End If
%>
<%
If Request.Querystring("do") = "radera" Then
ObjConn.Execute("DELETE * FROM gastbok where id="& CLng(Request.Querystring("id")) &"")
Response.Redirect(Request.ServerVariables("HTTP_REFERER"))
End If
%>
<%
If Request.Querystring("do") = "radera_alla" Then
ObjConn.Execute("DELETE * FROM gastbok where till='"& CLng(Request.Querystring("userid")) &"'")
Response.Redirect(Request.ServerVariables("HTTP_REFERER"))
End If
%>
<%
Set ObjRS = ObjConn.Execute("SELECT * FROM medlemmar where id="& CLng(Request.Querystring("userid")) &"")
Set ObjRSCount = ObjConn.Execute("SELECT Count(*) FROM gastbok where till='"& CLng(Request.Querystring("userid")) &"'")
Set ObjRS2 = ObjConn.Execute("SELECT * FROM gastbok where till='"& CLng(Request.Querystring("userid")) &"' Order By datum DESC")
%>
<%If ObjRS.Eof Then
Response.Redirect "?visa=start"
%>
<% Else %>
<%If Session("id") = ObjRS("id") Then%>
<%
ObjConn.Execute("UPDATE gastbok set last='1' where till='"& ObjRS("id") &"'")
%>
<%End If%>
<%If Session("id") = ObjRS("id") Then%>
<%
ObjConn.Execute("UPDATE medlemmar set online_tid='"&now&"', online_act='Läser sin gästbok' where anvnamn='"& session("anvnamn") &"'")
%>
<%Else%>
<%
ObjConn.Execute("UPDATE medlemmar set online_tid='"&now&"', online_act='Kollar in "& ObjRS("anvnamn") &"s gästbok' where anvnamn='"& session("anvnamn") &"'")
%>
<%End If%>
<div id="container">
<div id="content_rub">
<%=ucase(ObjRS("anvnamn"))%> <%If (ObjRS("kon")) = "0" then %>P<% Else %>F<% End If %><%=GetAge(ObjRS("alder"))%> - <%If (ObjRS("rank")) = "1" Then%>(ADMIN)<%Elseif ObjRS("id") = "132" then%>(FHüRER)<%Elseif (ObjRS("rank")) = "2" Then%>(MODERATOR)<%Elseif (ObjRS("rank")) = "3" Then%>(SPECIAL)<%Else%>(MEDLEM)<%End If%> -
<%
If Len(ObjRS("icq") & "") > 0 then
Response.Write ""&Server.HtmlEncode(ucase(ObjRS("icq")))&""
Else
Response.Write "INGENSTANS"
End if
%>
Have in mind att problemet kom efter att jag böt databas, kanske är det någon kodsnutt som inte vill sig fungera i MySQL men som fungerade i Access?
Börja med att göra som LarsG säger - lägg in radbrytningar i den långa fula kodrad felmeddelandet pekar på. Då får du veta vilken av asp-kluttarna felet ligger i - dvs vilka typer som mischmaschar. Lös det felet först, innan du börjar gissa att det ligger fel någon annanstans också...