---
title: "Syntaxfel???"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/46092-syntaxfel"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "ampy"
published: "2002-06-17T14:12:16.000Z"
updated: "2002-06-17T17:48:38.000Z"
replies: 23
views: 500
page: 1
pages: 2
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/asp/46092-syntaxfel"
---

# Syntaxfel???

_Sida 1 av 2._

## #1 — ampy, 2002-06-17T14:12Z

Har denna SQL-sats:

```
SQL = "SELECT * From forum where id = "&Request.QueryString("id")&" AND lock = 'yes'"
```

Får detta felmeddelande:

```
Microsoft OLE DB Provider for ODBC Drivers error '80040e09' 

[TCX][MyODBC]You have an error in your SQL syntax near 'lock = 'yes'' at line 1 

/forum.asp, line 3450
```

Vad kan det vara för fel?

Är mot en MySQL-databas.

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

## #2 — M@rtin, 2002-06-17T14:13Z

Ska det inte vara true? eller yes utan ' runt sig.

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

## #3 — ampy, 2002-06-17T14:15Z

Ordet yes har bara jag hittat på och kolumnen lock är av typen varchar(50) och då ska man ha '

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

## #4 — M@rtin, 2002-06-17T14:17Z

Aha.. trodde det var nåt mysql argument typ.. men men.. gör lite mellanrum vid & tecknen. Vet inte om det behövs men testa.

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

## #5 — ampy, 2002-06-17T14:19Z

Hade redan testat det men det funkar inte.

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

## #6 — LarsG, 2002-06-17T14:23Z

lock är ett reserverat ord i Mysql.

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

## #7 — ampy, 2002-06-17T14:25Z

I access kan man ju då skriva \[\] runt kolumnnamnet, finns det något annat sätt i mysql för \[\] funkar inte?

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

## #8 — LarsG, 2002-06-17T14:37Z

"lock"

\`lock\`

Jag har för mig att jag har sett båda dessa metoder i deras dokumentation. Det första sättet är enligt ANSI-standard.

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

## #9 — @nders, 2002-06-17T15:41Z

Allra bäst är att byta kolumnnamn.

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

## #10 — ampy, 2002-06-17T16:30Z

Vet ni vart det finns en lista på reserverade ord till mysql?

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

## #11 — LarsG, 2002-06-17T16:39Z

<http://www.mysql.com/doc/R/e/Reserved_words.html>

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

## #12 — ampy, 2002-06-17T16:50Z

Såg att jag inte har några reserverade ord i denn SQL-sträng:

```
SQL = "Insert Into forum(datum, skribent, meddelande, "subject", typ, rum, hemsida, skribent_id, datum2, id_svar, senasteinlagg) Values('"&Day(Date()) & " " & MonthName(Month(Date())) & " kl " & right("0" & Hour(Time()),2) & ":" & right("0" & Minute(Time()),2)&"', '"&session("username")&"', '"&Request.Form("text")&"', '"Svar:" & Request.QueryString("subject")&"', 'svar', '"&Request.QueryString("rum")&"', '"&session("hemsida")&"', "&session("id")&", '"&Now&"', "&Request.QueryString("id")&", '"&Now&"')"
```

Men jag får ändå 

```
Microsoft OLE DB Provider for ODBC Drivers error '80040e09' 

[TCX][MyODBC]You have an error in your SQL syntax near 'Final Fantasy 7, 'svar', 'allmant', 'http://www.ampy.net', 1, '2002-06-17 18:44:' at line 1 

/forum.asp, line 3863
```

Vad kan vara felet i SQL-strängen?

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

## #13 — Brimba, 2002-06-17T16:55Z

Du skriver

'"Svar" & 
Prova med
'Svar" &

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

## #14 — @nders, 2002-06-17T17:04Z

Jag tycker dessutom att VBScript-tolken borde reagera på att du har citationstecken i strängen som inte är escape:ade.

```
... meddelande, [b]""subject""[/b], typ ...
```

Sen är det alltid lättare att se felen om du skriver ut den färdiga SQL-frågan.

Var kommer Final Fantasy 7 ifrån? Det är ju helt klart en sträng, och skall således ha apostrofer runt sig.

Mvh,

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

## #15 — ampy, 2002-06-17T17:11Z

Inget av det jag testade funkade:

```
        SQL = "Insert Into forum(datum, skribent, meddelande, subject, typ, rum, hemsida, skribent_id, datum2, id_svar, senasteinlagg) Values('"&Day(Date()) & " " & MonthName(Month(Date())) & " kl " & right("0" & Hour(Time()),2) & ":" & right("0" & Minute(Time()),2)&"', '"&session("username")&"', '"&Request.Form("text")&"', 'Svar" & Request.QueryString("subject")&"', 'svar', '"&Request.QueryString("rum")&"', '"&session("hemsida")&"', "&session("id")&", '"&Now&"', "&Request.QueryString("id")&", '"&Now&"')"
	
	
	Connect.Execute(SQL)
```

Sen går det inte att skriva ut SQL-strängen för att jag får felmeddelandet på den och inte på denna rad:

Connect.Execute(SQL)

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

## #16 — Brimba, 2002-06-17T17:18Z

Jag ser inget fel direkt, men precis som @nders säger så är det lättare med den färdiga sqlfrågan :)

Vad får du för felmeddelande om du gör:

```
SQL= "insert into..."
response.write SQL
```

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

## #17 — @nders, 2002-06-17T17:20Z

Det senaste felmeddelandet du postade kan du inte ha fått på den raden. Vilket felmeddelande får du här?

Jag kan inte direkt se att du missat något citationstecken eller så.

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

## #18 — ampy, 2002-06-17T17:21Z

Då får jag 

```
Microsoft OLE DB Provider for ODBC Drivers error '80040e09' 

[TCX][MyODBC]You have an error in your SQL syntax near 'Final Fantasy 7, 'svar', 'allmant', 'http://www.ampy.net', 1, '2002-06-17 19:15:' at line 1 

/forum.asp, line 3863
```

Den hinner alltså inte skriva ut SQL-strängen för att jag får felmeddelandet först. Men som ni kanske ser så fattas det ett ' efter Final Fantasy 7

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

## #19 — Brimba, 2002-06-17T17:22Z

replace(svar, "'", "''") 
kanske :q

Vad vet jag? Det är omöjligt att säga.

Hur som helst. Vad är det du försöker mata in? Har du hela strängen?

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

## #20 — @nders, 2002-06-17T17:22Z

Då tycker jag att du ska kontrollera radnummer. Du kan inte få det felmeddelandet om du inte gör execute. Är det rätt SQL-sats du postat? Jag tror inte det.

Mvh,

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/46092-syntaxfel  
Nästa sida: https://www.webforum.nu/amne/asp/46092-syntaxfel/page2.md
