Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z """ przy zapytaniu do bazy
Forum PHP.pl > Forum > Bazy danych > MySQL
melior
Mam zapytanie:

select * from category WHERE name = '& quot;test& quot;'

Wpiszę je ręcznie do phpmyadmin i znajduje mi wyniki.

A gdy wykonuje je przez:
$query = "select * from category WHERE name = '& quot;test& quot;'";
$result = $db->query($query);
to już nie ma wyników blinksmiley.gif

Ktoś wie o co chodzi i może mi pomóc?

EDIT:
Dodałem spację między & i quot; bo forum zamieniało na "
essey
A po co dajesz " w zapytaniu?
Jeżeli chcesz wyszukać słowo "test" (razem z cudzysłowami), to musisz zrobić:

[MYSQL] pobierz, plaintext
  1. $query = " select * from category WHERE name = '\"test\"' ";
[MYSQL] pobierz, plaintext
melior
Ok, tylko że w bazie nie mam "test" a & quot;asd& quot;

Tak więc backslash'e nic tu nie dadzą :/
gothye
Więc skorzystaj z
  1. LIKE '%fraza_szukana%'
lub
  1. MATCH
melior
Niestety nie pomogło.

Pierwsze rozwiązanie odpada, bo szukając '%a%' znajdzie mi też np. 'baba'.
Mając za to LIKE '& quot;test& quot;' nie znajduje mi wyników.

MATCH odpada bo nie mam FULLTEXT index.

Zastanawiam się czemu identyczne zapytanie ręcznie wykonane działa, a już w kodzie nie sciana.gif
TheTester
A czy czasem wywołanie $db->query($query); nie parsuje Ci zapytania i tym samym zamienia & na &?
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.