Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Apostrof w zmiennej
Forum PHP.pl > Forum > Przedszkole
zicher
Witam

Mam nastepujacy problem. Otoz w bazie danych znajduje sie gra z apostrofem satan's hollow, ktora generuje blad a momencie kiedy skrypt generuje akcje zwiazane z ta gra. Jak sie przed tym zabezpieczyc?

Oto kod.
  1. <?php
  2. $zapytanie2 = "SELECT * FROM postac, gra, iloscgier 
  3. WHERE postac.postac_id=iloscgier.postac_id and gra.gra_id=iloscgier.gra_id 
  4. and iloscgier.postac_id='".$postac."' a
  5. nd gra.nazwagry='".$gra."' ORDER BY nazwagry";
  6. ?>



A to blad:

  1. SELECT * FROM postac, gra, iloscgier
  2. WHERE postac.postac_id=iloscgier.postac_id AND gra.gra_id=iloscgier.gra_id AND iloscgier.postac_id='6' AND gra.nazwagry='Pinball' ORDER BY nazwagry
  3.  
  4. SELECT * FROM postac, gra, iloscgier WHERE postac.postac_id=iloscgier.postac_id AND gra.gra_id=iloscgier.gra_id AND iloscgier.postac_id='6' AND gra.nazwagry='Satan's Hollow' ORDER BY nazwagry
  5.  
  6. Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\usr\krasnal\www\paladyn\postacie\postacpunkty.php on line 88


Pinball dziala poprawnie, Satan's Hollow nie, nastepna gra dziala poprawnie.
Wiem, ze mozna by sie pozbyc apostrofu w bazie, ale mnie zalezy na tym by rozwiazac ten problem kodem.

pozdrawiam
zicher
nospor
http://pl.php.net/manual/pl/function.mysql-escape-string.php
Nic dodac, nic ując smile.gif
bigZbig
Zmien apostrof na encje &#180 albo &acute;
nospor
@bigZbig no co ty. takie rzeczy sie slashuje (patrz link co podalem) a nie zamienia na encje.
bigZbig
@nospor jak wyeskejpuje apostrof to potem przed wyswietleniem musze tego slasha usunac a jak zmienie na encje to o zamiane spowrotem na apostrof musze zadbac jedynie przy edycji w formularzu.

-- edit --
srednik poprawiono na apostrof
nospor
mysql_escape_string nie escapuje srednika smile.gif

A nawet jesli by to robil (a nie robi) to mi osobiscie encje do tego celu nie pasują

edit: z argumentacją co poniżej nie mam szans, wiec juz nie sie nie kloce winksmiley.jpg
bigZbig
Chodzilo mi oczywiscie o apostrof, a ze Ci nie pasuje to dlatego, ze przyzwyczailes sie do eskejpowania i nie dostrzegasz dalekowzrocznosci, nowatorstwa i korzysci plynacych z mojego rozwiazania winksmiley.jpg
zicher
Witam ponownie

Dokladnie tego szukałem.

Dzieki
zicher
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.