---
title: "You have an error in your SQL syntax"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/168919-you-have-an-error-in-your-sql-syntax"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Jeppeweb"
published: "2008-02-11T15:39:11.000Z"
updated: "2008-02-12T08:00:18.000Z"
replies: 19
views: 1086
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/168919-you-have-an-error-in-your-sql-syntax"
---

# You have an error in your SQL syntax

## #1 — Jeppeweb, 2008-02-11T15:39Z

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>
```

Vad är felet? :S

Min SQL Connection ser ut såhär;

\<%

Set ObjConn = Server.CreateObject("ADODB.Connection")
ObjConn.Open =  "Driver={MySQL ODBC 3.51 Driver}; server=#; uid=#; pwd=#; database=#; option=3"

%\>

Permalänk: https://www.webforum.nu/p/168919

## #2 — spango, 2008-02-11T15:40Z

TOP 1 finns inte i MySQL. Kolla manualen efter LIMIT som gör typ samma sak (och lite till).

Permalänk: https://www.webforum.nu/p/2079014

## #3 — LarsG, 2008-02-11T15:40Z

Top fungerar inte i Mysql. Använd limit.

Flyttas från ASP

Permalänk: https://www.webforum.nu/p/2079015

## #4 — Jeppeweb, 2008-02-11T15:42Z

Grymt snabbt svar.

Okej, så hur skulle den där koden se ut med LIMIT ?
Fick f.ö det här felmeddelandet nu när jag håller på att byta ut access databas mot MySQL.

En lite Offtopic fråga, är det mycket jobb att byta till MySQL när man har en sida som är byggd till Access från grunden?

Permalänk: https://www.webforum.nu/p/2079017

## #5 — visslaren, 2008-02-11T15:50Z

```
SELECT * FROM nyheter ORDER BY datum DESC LIMIT 1
```

Permalänk: https://www.webforum.nu/p/2079022

## #6 — Jeppeweb, 2008-02-11T16:06Z

Tack.

Vad är det för fel på den här koden?

		

```
 <span style="float:left;"><%=GetAnv(ObjRS2("anvid"))%><font color="<%If ObjRS2("tema") = "0" then%>#000000<%ElseIf ObjRS2("tema") = "1" then%>#FFFFFF<%ElseIf ObjRS2("tema") = "2" then%>#FF0000<%Else%>#000000<%End If%>"> <%If (ObjRS3("kon")) = "0" then %>P<% Else %>F<% End If %><%=GetAge(ObjRS3("alder"))%></b> | <%=DatumFix(ObjRS2("datum"))%> <%If ObjRS2("hemligt") = true then%> | HEMLIGT<%End If%></span> </font>
```

Microsoft VBScript runtime error '800a000d' 

Type mismatch 

/gastbok.asp, line 313

Permalänk: https://www.webforum.nu/p/2079026

## #7 — Jeppeweb, 2008-02-11T16:25Z

Tror felet ligger här.

```
<%
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")
%>
```

Tacksam för hjälp

Permalänk: https://www.webforum.nu/p/2079027

## #8 — aasah, 2008-02-11T16:43Z

Plocka bort "grekiskan" (ASP:n alltså) och visa BARA SQL:n, tack!

Eller posta i ASP om felet inte är SQL-relaterat.

Permalänk: https://www.webforum.nu/p/2079031

## #9 — Jeppeweb, 2008-02-11T16:56Z

```
<%

' 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%>
```

Permalänk: https://www.webforum.nu/p/2079033

## #10 — Jeppeweb, 2008-02-11T16:56Z

Allt fungerade innan jag bytte databas från Access till MySQL

Permalänk: https://www.webforum.nu/p/2079034

## #11 — Jeppeweb, 2008-02-11T17:42Z

Snälla, hjälp! :P

Permalänk: https://www.webforum.nu/p/2079044

## #12 — Peter S, 2008-02-11T17:54Z

Vilken är rad 313?

Permalänk: https://www.webforum.nu/p/2079046

## #13 — Jeppeweb, 2008-02-11T19:10Z

det är 

```
		 <span style="float:left;"><%=GetAnv(ObjRS2("anvid"))%><font color="<%If ObjRS2("tema") = "0" then%>#000000<%ElseIf ObjRS2("tema") = "1" then%>#FFFFFF<%ElseIf ObjRS2("tema") = "2" then%>#FF0000<%Else%>#000000<%End If%>"> <%If (ObjRS3("kon")) = "0" then %>P<% Else %>F<% End If %><%=GetAge(ObjRS3("alder"))%></b> | <%=DatumFix(ObjRS2("datum"))%> <%If ObjRS2("hemligt") = true then%> | HEMLIGT<%End If%></span> </font>
```

TACKSAM FÖR HJÄLP!

Permalänk: https://www.webforum.nu/p/2079066

## #14 — LarsG, 2008-02-11T19:38Z

Kan du inte lägga in lite radbrytningar så att koden går att läsa. Då får du även bättre lokalitet i felmeddelandet.

Permalänk: https://www.webforum.nu/p/2079075

## #15 — Jeppeweb, 2008-02-11T19:48Z

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"))%>&nbsp;<%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?

Permalänk: https://www.webforum.nu/p/2079076

## #16 — @nders, 2008-02-11T19:54Z

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å...

Permalänk: https://www.webforum.nu/p/2079078

## #17 — Jeppeweb, 2008-02-11T20:07Z

Okej.

```
		 <span style="float:left;"><%=GetAnv(ObjRS2("anvid"))%><font color="<%If ObjRS2("tema") = "0" then%>#000000
		 <%ElseIf ObjRS2("tema") = "1" then%>#FFFFFF<%ElseIf ObjRS2("tema") = "2" then%>#FF0000
		 <%Else%>
         #000000<%End If%>"> 
		 <%If (ObjRS3("kon")) = "0" then %>
         <p>P</p>
  		 <% Else %>
         <p>F</p>
		 <% End If %>
		 <%=GetAge(ObjRS3("alder"))%></b>
          | <%=DatumFix(ObjRS2("datum"))%> 
		 <%If ObjRS2("hemligt") = true then%>
         <p>| HEMLIGT</p>
		 <%End If%></span> </font>
```

felmeddelande:

  jeppe 
P

33 \| Idag @ 20:57 
Microsoft VBScript runtime error '800a000d' 

Type mismatch 

/gastbok.asp, line 323 
 
Rad 323:

```
		 <%If ObjRS2("hemligt") = true then%>
```

Permalänk: https://www.webforum.nu/p/2079080

## #18 — Jeppeweb, 2008-02-11T21:30Z

Please, someone? Ingen som har en aning om vad som kan vara fel?
Tacktack

Permalänk: https://www.webforum.nu/p/2079094

## #19 — @nders, 2008-02-12T04:10Z

Vad är det för datatyp på fältet? Om det är något som kan göras om till en boolean så får du subtypskonvertera för att göra en dylik jämförelse.

```
<%If cbool(ObjRS2("hemligt")) = true then%>
```

Permalänk: https://www.webforum.nu/p/2079119

## #20 — Jeppeweb, 2008-02-12T08:00Z

Datatyp i fältet var Tinyint, ändrade till INT och nu verkar det ha löst sig..!

Permalänk: https://www.webforum.nu/p/2079134

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/168919-you-have-an-error-in-your-sql-syntax
