Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Problem z operatorem AND
Forum PHP.pl > Forum > Przedszkole
sq6aah
Witam,
próbuje napisać wyszukiwarkę i mam problem z ułożeniem zapytania w SQL w którym używam operatora AND.
I np.
  1. SELECT * FROM news WHERE tytul LIKE '%slowo%' AND tresc LIKE '%slowo%'

Działa bez problemu.
Ale jeśli dodam kolejny warunek:
  1. SELECT * FROM news WHERE tytul LIKE '%slowo%' AND tresc LIKE '%slowo%' AND 'kategoria='1'

Zwraca mi zwraca 0 wyników, chociaż w tabeli na pewno znajduje się rekord z kategorii "1".
Co mam zrobić aby zapytanie działo?
Pozdrawiam, sq6aah
MateuszS
nie widzisz niedomknietych ' ? otworzyles ' przed kategoria w drugim ale nie zamknales
ucho
Szklana kula mówi mi że chciałeś napisać:
  1. SELECT * FROM news WHERE (tytul LIKE '%slowo%' OR tresc LIKE '%slowo%' ) AND kategoria='1'

Jeśli chodzi o coś innego to popraw treść posta bo na razie umieściłeś dwa identyczne zapytania tongue.gif
sq6aah
Sorry, to akurat był błąd przy kopiowaniu. Normalnie jest:
  1. SELECT * FROM news WHERE tytul LIKE '%slowo%' AND tresc LIKE '%slowo%' AND kategoria='1'


EDIT:
A jeśli chciałbym dodać kolejne AND?
Np.
  1. SELECT * FROM news WHERE (tytul LIKE '%slowo%' OR tresc LIKE '%slowo%' ) AND kategoria='1' AND podkategoria='1'

sadistic_son
Zależy jaki typ danych ma kolumna kategoria i podkategoria. Jeśli varchar, text itp. to to powinno działać. Jeśli natomiast ma typ liczbowy np. int, bool, tinyint to wtedy wartość dajesz bez '

Czyli tak:
  1. SELECT * FROM news WHERE (tytul LIKE '%slowo%' OR tresc LIKE '%slowo%' ) AND kategoria=1 AND podkategoria=1
sq6aah
Wielki dzięki. smile.gif
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.