ugrás a tartalomhoz

"You have an error in your SQL syntax near"

retkestomi · 2010. Már. 31. (Sze), 15.30
Sziasztok!

Készítettem nagynehezen egy kódot, ami egy távoli weboldalról szerez információkat. Ezeket szétbontja nekem megfelelően, majd az én mysql adatbázismba helyezi.

A következő kód ahogy látszik is, a megszerzett infó egy részét szétszedi, majd újból összefűzi, és a $a változót tenném az adatbázisba miután ez a kód lefutott.

if (str_replace("(","",$ta)!=$ta)
		{
		$td = str_replace("\n", "", $ta);
		$te = str_replace("  ", " ", $td);
		$tf = str_replace(")", "", $te);
		$tg = explode("(", $tf);
		if(str_replace("wert","",$tg) == $tg)
			{
			$a = $a.$tg[0].":".$tg[1];
			}
		}
Azomban nem töltődik fel. MySqlError()-al a következő hibát kapom:
You have an error in your SQL syntax near .... at line 1
(... helyén a $a változó tartalma)

Ja, és hogy mégszebb legyen, ezt nem mindig csinálja.. Úgy kb. minden 2.-3. futatáskor.
Remélem nagyjából érthető a probléma.

Valakinek valami ötlete??
 
1

Input szűrés

bendesoft · 2010. Már. 31. (Sze), 15.56
Adatbázisba szúrás előtt a szöveges mezőket szűrni kéne.
mysql_real_escape_string
3

sikerült :)

retkestomi · 2010. Már. 31. (Sze), 16.58
Működik a kód. mysql_real_escape_string segítségével.

Köszönöm! :)
2

szűrés

retkestomi · 2010. Már. 31. (Sze), 16.32
És ez a funkció pontosan mit szűrne és hogyan?
A példa alapján kipróbáltam, de ugyanaz a helyzet.
4

jó lenne látni a query-t

thgab · 2010. Már. 31. (Sze), 17.00
mielőtt lefut a query, írasd ki. látni fogod hol a hiba.
pl ha az $a változódba egy aposztróf kerül és a queryben
'$a'-van, akkor a $a-ban levő aposztróf lezárja a $a előtti aposztrófot, és az utána lévő karakterek már mysql hibát generálnak.