Pico
Joined: 18 Jan 2004
Posts: 250
Location: HostMachine.net
|
Posted: 25.9.2004, 03:12 Post subject: Magic_Quotes_GPC in delo z MySQL |
|
|
Pozor pri delu z bazami podatkov, kjer SQL poizvedbe vsebujejo prosto besedilo!
Namreč - na strežnikih smo za PHP izklopili Magic_Quotes_GPC, kar pomeni, da v nizih besedila PHP NE bo več samodejno dodajal narekovajem \ escape poševnico!
Prej je bilo takole:
vhodni niz: Poglej si film "Zelena milja", odličen je!
Magic_quotes_GPC je v ozadju samodejno dodal \ escape poševnico:
izhodni niz: Poglej si film \"Zelena milja\", odličen je!
Sedaj je pa ta avtomatika IZKLOPLJENA - torej morate pri programiranju paziti, da vse nize besedil, ki UTEGNEJO vsebovati tudi enojne narekovanje ' ', dvojne narekovanje " " ali poševnice \ \ pred generiranjem SQL stavka obdelate z ukazom:
addslashes(); //To naredi isto kot Magic_quotes_GPC
NA PRIMER:
$besedilo = 'Poglej si film "Zelena milja", odličen je!';
$besedilo = addslashes($besedilo);
Po branju tega niza iz baze pa lahko odvečne escape \ poševnice odstranite z ukazom:
stripslashes();
NA PRIMER:
$besedilo = 'Poglej si film \"Zelena milja\", odličen je!';
$besedilo = stripslashes($besedilo); |
|