webForumDet fria alternativet

Problem med INSERT-fråga

Databaser & SQL

4 svar · 424 visningar · startad av Guldstrand

Medlem sedan juli 20041 271 inlägg
Frågan#1

Måste f*n vara blind. :x

Får följande fel:

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 'release, namn, beskrivning, pris, distributor) VALUES(1, NOW(), ''2006-11-22'', ' at line 1

..när jag kör följande:

	$namn = sqlesc($_POST["namn"]);
	$release = sqlesc($_POST["release"]);
	$besk = sqlesc($_POST["besk"]);
	$pris = $_POST["pris"];
	$distributor = sqlesc($_POST["distributor"]);
	$butik = 1;

	mysql_query("INSERT INTO produkter (butikid, tillagd, release, namn, beskrivning, pris, distributor) VALUES($butik, NOW(), '$release', '$namn', '$besk', $pris, '$distributor')") or die(mysql_error());
Medlem sedan dec. 20025 483 inlägg
#2

Variabeln 'release' innehåller apostrofer. Dessa ser ut att behöva escape:as.

Medlem sedan juli 20041 271 inlägg
#3

Peter S skrev:

Variabeln 'release' innehåller apostrofer. Dessa ser ut att behöva escape:as.

Men det gör jag ju här:

$release = sqlesc($_POST["release"]);

P.s. Tack för ett snabbt svar!

Medlem sedan jan. 2005953 inlägg
#4

release är ett reserverat ord. Sätt backticks (`) runt det.

http://dev.mysql.com/doc/refman/5.1/en/reserved-words.html

Medlem sedan juli 20041 271 inlägg
#5

metalboy skrev:

release är ett reserverat ord. Sätt backticks (`) runt det.

http://dev.mysql.com/doc/refman/5.1/en/reserved-words.html

Aha! Höll nästan på att slita av mig allt hår.

Tack för en oerhört snabb support.

262 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)