---
title: "Parse error: syntax error"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/175399-parse-error-syntax-error"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "nlu1990"
published: "2008-11-19T10:03:42.000Z"
updated: "2008-12-03T10:22:02.000Z"
replies: 12
views: 648
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/php/175399-parse-error-syntax-error"
---

# Parse error: syntax error

## #1 — nlu1990, 2008-11-19T10:03Z

Hej. När jag programmerar i MySQL och PHP så får jag upp ett errormeddelande som säger

> Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in ... on line 18

.

... är mappens adress. Och koden på den raden är:

```php
$strQuery = mysql_query("INSERT INTO telefonbok (fnamn,enamn,tfnnr) VALUES($_POST['fnamn'] . ", " . $_POST['enamn'] . ", " . $_POST['tfnnr']) or die(mysql_error()));
```

 

Vad är det för fel???

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

## #2 — Peter S, 2008-11-19T10:12Z

Om det är strängar du försöker spara skall dessa omgärdas av apostrofer.

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

## #3 — nlu1990, 2008-11-19T10:17Z

Det som jag försöker skapa är en telefonbok med en sida där man skriver in förnamn, efternamn och telefonnr och när man har skrivit in namnet och telefonnumret så ska den skriva ut alla förnamnen som finns i databasen.

Men jag har försökt att göra bara småändringar som jag tror kan vara fel, men det blir inte bättre utav det.

Är det någon annan som har någon idé eller måste jag lita på att peter_s har rätt??? :p

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

## #4 — MickeA.com, 2008-11-19T10:59Z

Testa med:

```
$strQuery = mysql_query("INSERT INTO telefonbok "
			."(fnamn,enamn,tfnnr) "
			."VALUES ("
			."'" . $_POST['fnamn'] . "', "
			."'" . $_POST['enamn'] . "', "
			."'" .  $_POST['tfnnr'] . "'"
			.")" or die(mysql_error()));
```

/r Glöm inte att lägga till skydd mot SQL Injektioner...

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

## #5 — jme, 2008-11-19T11:11Z

Om du kan så rekommenderar jag att du använder PDO. Då slipper du att manuellt lägga till alla dessa j\*vla enkelfnuttar och så höjs säkerhetn samtidigt då med PDO så skyddas du emot sql injections. :)

<http://fi.php.net/manual/en/pdo.prepare.php>

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

## #6 — nlu1990, 2008-11-24T09:46Z

MickeA.com: Det vart bättre med ditt kodexempel, men nu fick jag problem med att jag inte får fram andra fel bl.a undefined index och nånting om att $strQuery inte är ett "not valid MySQL result resource". Vad kan detta vara???

jme: Jag har aldrig hört talas om PDO så jag tror inte att jag ska ge mig in i det just nu. Ev. vid ett senare tillfälle.

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

## #7 — MickeA.com, 2008-11-24T11:27Z

> **nlu1990 skrev:**
>
> MickeA.com: Det vart bättre med ditt kodexempel, men nu fick jag problem med att jag inte får fram andra fel bl.a undefined index och nånting om att $strQuery inte är ett "not valid MySQL result resource". Vad kan detta vara???

Du måste visa mer kod om vi ska kunna hjälpa dig.

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

## #8 — nlu1990, 2008-12-03T09:34Z

Jag har jobbat lite nu hemma och lyckats få till det lite bättre. Jag "startade om" projektet och fick ett nytt problem med inskrivning till databasen. Detta är kodsidan som jag har problem med.

```
<?PHP  $objConn = mysql_connect ('localhost', 'root', '*****'); 
mysql_select_db('Forum');
$strQuery = mysql_query ("INSERT INTO tblForum(forumName),
tblThread(threadName), tblPost(postName, postText, writer)
VALUES ('" . $_POST['forum'] . "', '" . $_POST['thread'] . "', '" . $_POST['name'] . "', '" . $_POST['text'] . "', '" . $_POST['writer'] . "') ")
or die(mysql_error());
mysql_close($objConn);
header('Location: http://localhost/Forum/setData.php');
?>
```

 

Och numera får jag upp felmeddelande:

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 ' tblThread(threadName), tblPost(postName, postText, writer) VALUES ('Allt om All' at line 1

Jag använder Apache 2.2.9 och PHP 5.2.6

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

## #9 — jme, 2008-12-03T09:51Z

nlu1990: har du inte hört talas om PDO så borde du.

Det sätt du skapar sql-frågor är inte bra och är inte skyddad mot s k sql injections (googla).

Med t ex PDO slipper du pilla med fnuttar (').

"INSERT INTO tblForum(forumName),
tblThread(threadName), tblPost(postName, postText, writer) ...

ser lite suspekt ut. Testa att separera detta i två olika sql-satser.

Dvs:

```php
mysql_query("INSERT INTO tblForum(forumName) VALUES ('" . $_POST['forum'] . "')");
```

och

```php
mysql_query("INSERT INTO tblPost(postName, postText, writer)
 VALUES ('" . $_POST['name'] . "', '" . $_POST['text'] . "', '" . $_POST['writer'] . "') ");
```

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

## #10 — fiddler, 2008-12-03T09:55Z

Har du inte glömt att ange $objConn i din mysql_query-sats?

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

## #11 — jme, 2008-12-03T10:03Z

fiddler: Den behövs inte anges. Om den utelämnas så används den nuvarande uppkopplingen automatiskt.

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

## #12 — nlu1990, 2008-12-03T10:08Z

Jag öppnar ju MySQL databasen redan i början av sidan. Rad 1, tecken 8-15.

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

## #13 — fiddler, 2008-12-03T10:22Z

> **jme skrev:**
>
> fiddler: Den behövs inte anges. Om den utelämnas så används den nuvarande uppkopplingen automatiskt.

Ah, tack för upplysningen!  :) Jag blev lite osäker om det.

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

---

Tråden på webben: https://www.webforum.nu/amne/php/175399-parse-error-syntax-error
