Autor Zpráva
Petr856
Profil *
Zdravím, mám problém s PHP.
Jedná se o to, že jsem ověřoval hodnoty přijaté z formuláře pomocí mysql_real_escape_string a poté je odesílal do databáze.
Na localhostu mi vše funguje, ale pokud to nahraju na hosting a vyzkouším, tak se hodnoty, které přes mysql_real_escape_string ověřuju nezapíšou do databáze.
Může být problém v různých verzích php?
Na webhostingu je PHP Version 5.2.0-8+etch15
Na localhostu mám PHP Version 5.2.4-2ubuntu5.10
(tady je nastavení php mého webhostingu)

Dá se to nějak obejít? Nebo může být problém i někde jinde?

Díky
Majkl578
Profil
Spíš bych to tipoval na magic_quotes_gpc.

Petr856:
ověřuju
Myslel jsi asi "ošetřuji".
Petr856
Profil *
Pardon, samozřejmě že "ošetřuji" :)
Takže pokud tomu dobře rozumím, pokud je zapnuta magic_quotes_gpc, tak to vlastně samo plní funkci mysql_real_escape_string a nemusím to tedy escapovat.
Ano?
Majkl578
Profil
No, ne tak zcela.
Direktiva magic_quotes ošetřuje následující znaky: ', ", \ a NULL.
Oproti tomu mysql_real_escape_string ošetřuje: \x00, \n, \r, \, ', " a \x1a.

Proto je vždy lepší použít funkci mysql_real_escape_string.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0