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.
  1. if (str_replace("(","",$ta)!=$ta)  
  2.         {  
  3.         $td = str_replace("\n"""$ta);  
  4.         $te = str_replace("  "" "$td);  
  5.         $tf = str_replace(")"""$te);  
  6.         $tg = explode("("$tf);  
  7.         if(str_replace("wert","",$tg) == $tg)  
  8.             {  
  9.             $a = $a.$tg[0].":".$tg[1];  
  10.             }  
  11.         }  
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.