Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z apostrofem
Forum PHP.pl > Forum > Przedszkole
marmomm
mam cos takiego:
z forma na stronie dodaje nazwy utworow do bazy z punktami. Potem chce pokazywac najpopularniejsze utwory. Wyciagam wiec z bazy niepotwarzajace sie rekordy (distinct utwor) i wykonuje kolejne zapytanie sumujace punkty dla kazdego z tych rekordow (utworu).

Problem pojawil sie gdy w nazwie utworu wystapi ' np. don't
probowalem juz kilku opcji.. bez skutku...

myslalem ze to rozwiaze problem:
przed dodaniem do bazy robie htmlentities($utwor, ENT_QUOTES);
wtedy w bazie zamiast don't mam
Kod php:
  1. <?php
  2. don&#092;'t
  3.  
  4. ?>


wiec powinien wyciagnac ten ciag i policzyc ile razy wystepuje w bazie i ile ma punktow... ale nie dziala ...co dziwne zapytanie:
SELECT DISTINCT utwor ....
daje po wyswietlenie wartosc don\'t questionmark.gif?
czyli co automatycznie zdekodowal zmienna questionmark.gif?
i podliczenie nie wychodzi bo mowi ze nikt nie glosowal na don\'t tylko na
  1. <?php
  2. don&#092;'t
  3.  
  4. ?>

...

co robienie nie tak ..pomozcie, please....
Kuziu
Może zamiast htmlentities uzyj addslashes()
oraz
stripslashes

a szukając w bazie również użyj addslashes() .. wtedy będzie się zgadzało ...


ewentualnie .. opdczas wyszukiwania również daj htmlentities($utwor, ENT_QUOTES); .. dzięki temu szukany będzie ciąg
  1. <?php
  2. don&#092;'t
  3. ?>
a nie
  1. <?php
  2. dont
  3. ?>
co da efekt.
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.