[ jecaCoje @ 04.06.2010. 15:04 ] @
Da li neko zna gde gresim?

Pojavljuje se error: Error performing query: 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 'desc) VALUES ('slika' , 'here is')' at line 1,

pri izvrsavanju naredbe $result= @mysql_query("INSERT INTO prod (name, desc)
VALUES ('$up' , '$_POST[desc]')");
. (u pitanju je PHP kod)

Promenjljiva $up je uploadovana slika, i sve je ok kada izvrsavam upit samo sa tom promenljivom.
$_POST[desc] je tekst unet preko HTML forme.

U bazi podataka polje desc je setovano kao longtext, sa dopustenom null vrednoscu.

Po mojoj nekoj intuiciji problem je kod parsiranja navodnika.
Da li neko zna drugaciji nacin za pisanje ove naredbe.

Unapred hvala na svakom predlogu!
[ Goran Rakić @ 04.06.2010. 15:19 ] @
Intuicija ti je tačna. Pogledaj http://php.net/manual/en/function.mysql-real-escape-string.php

Pročitaj i http://www.php.net/manual/en/security.database.sql-injection.php
[ jecaCoje @ 04.06.2010. 15:54 ] @
Procitah, probah, ali nijedna funkcija nije resila problem, ostao je potpuno isti.

Hvala!
[ vilyu @ 04.06.2010. 16:05 ] @
Koliko ja vidim, problem je sto je desc rezervisana rec i koristi se u kombinaciji sa ORDER naredbom. Promeni naziv kolone, ili probaj sa backticks (`).
[ jecaCoje @ 04.06.2010. 16:18 ] @
Problem resen promenom naziva kolone!
HVALA!
[ Shinhan @ 07.06.2010. 07:39 ] @
Rezervisane reči