Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL]Problem z operatorem AND
sq6aah
post 17.03.2010, 18:06:02
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 12.10.2009

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


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

Ten post edytował sq6aah 17.03.2010, 18:19:54
Go to the top of the page
+Quote Post
MateuszS
post 17.03.2010, 18:10:14
Post #2





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


nie widzisz niedomknietych ' ? otworzyles ' przed kategoria w drugim ale nie zamknales


--------------------
O! Zimniok :P
Go to the top of the page
+Quote Post
ucho
post 17.03.2010, 18:13:56
Post #3





Grupa: Zarejestrowani
Postów: 300
Pomógł: 32
Dołączył: 31.07.2006

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


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
Go to the top of the page
+Quote Post
sq6aah
post 17.03.2010, 18:17:35
Post #4





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 12.10.2009

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


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'



Ten post edytował sq6aah 17.03.2010, 18:21:47
Go to the top of the page
+Quote Post
sadistic_son
post 17.03.2010, 20:18:19
Post #5





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


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


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
sq6aah
post 17.03.2010, 21:44:27
Post #6





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 12.10.2009

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


Wielki dzięki. smile.gif
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 15.07.2025 - 06:39