Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> & w zapytaniu, zagadka, problem ze znakiem ampersand, zagadka
10valuebackup@gm...
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 25.01.2012

Ostrzeżenie: (0%)
-----


Witam.
Mam dziwny (dla mnie) problem.

Sklejam sobie zapytanie SQL w PHP. Zapytanie zawiera znak & (bo mam takie wartości w bazie).
Zapytanie nie działa.

Robię echo $zapytanie. Kopiuje je z ekranu i przypisuję z powrotem (na sztywno) jeszcze raz do $zapytanie.
Działa!

No i w czym problem? Wiem tylko, że występuje tylko w przypadku stringów zawierających znak &.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
by_ikar
post
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


IMO no właśnie, wszędzie używasz apostrof, a w takiej apostrofie to nie trudno o problem, wystarczy że znajdzie się w stringu znak dolara i już mogą być jazdy. Jeżeli nie potrzebujesz dodawać do ciągu zmiennej bez apostrofu/cudzysłowia, a wierz mi że nie potrzebujesz praktycznie w żadnym przypadku, to używaj cudzysłowia. Wtedy parser nie będzie ci zawartości twojego stringa pod żadnym kontem parsować, tylko od razu przepuści.

Spróbuj tak, i powiedz jakie będą tego efekty:

  1. $nazwa='You & me';
  2.  
  3. $query1= 'select * from tabela where nazwa="'.$nazwa.'";';
  4. $query2= 'select * from tabela where nazwa="'.pg_escape_string($nazwa).'";';


Oczywiście tam pod $nazwa, podstaw to co masz oryginalnie, pozamieniaj tylko apostrofy na cudzysłowia i cudzysłowia na apostrofy. Jak używasz jakiegoś ludzkiego edytora, to możesz to zrobić jednym kliknięciem w całym kodzie.

Ten post edytował by_ikar 26.01.2012, 08:31:52
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 05:53