Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wybiera mi tylko jeden rekord zamiast wszystkich (LIKE)
szyn33k
post 1.07.2013, 17:03:00
Post #1





Grupa: Nieautoryzowani
Postów: 18
Pomógł: 0
Dołączył: 3.01.2013

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


Witam,
Zapytanie SQL wygląda tak:
  1. SELECT * FROM `mecze` WHERE 'team1' OR 'team2' LIKE 'Hash';

Kolumny nazywają się kolejno: ID, team1, team2.
Screen tabeli:
Kod PHP:
  1. $zapytanie_sql = mysql_query("SELECT * FROM mecze WHERE team1 OR team2 LIKE 'hash'");
  2. if(mysql_num_rows($zapytanie_sql) > 0)
  3. {
  4. while($wynik_sql = mysql_fetch_assoc($zapytanie_sql))
  5. {
  6. /*Reszta kodu*/
  7. }
  8. }
  9.  


I otrzymuję 0 wyników :/
Co jest tutaj źle?
Pozdrawiam.

Ten post edytował szyn33k 1.07.2013, 17:04:19
Go to the top of the page
+Quote Post
mortus
post 1.07.2013, 17:21:46
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


  1. SELECT * FROM `mecze` WHERE 'team1' LIKE 'Hash' OR 'team2' LIKE 'Hash';
Go to the top of the page
+Quote Post
damianooo
post 1.07.2013, 17:21:58
Post #3





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

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


Cytat
spróbuj to wziąść w nawias

  1. ('team1' OR 'team2')


Poza tym Like'a poćwicz tutaj:

http://www.w3schools.com/sql/trysql.asp?fi...sql_select_like

Ten post edytował damianooo 1.07.2013, 17:23:01
Go to the top of the page
+Quote Post
szyn33k
post 1.07.2013, 17:33:03
Post #4





Grupa: Nieautoryzowani
Postów: 18
Pomógł: 0
Dołączył: 3.01.2013

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


  1. "SELECT * FROM mecze WHERE (team1 like '%$nazwa%') OR (team2 like '%$nazwa%')"

Działa tak.
Dzięki smile.gif
Go to the top of the page
+Quote Post
mmmmmmm
post 1.07.2013, 18:42:56
Post #5





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


Skoro nie dajesz %, to bezsensownie dajesz LKE. Wtedy optymalizator zapytań zupełnie inaczej się zachowuje niż w przypadku =.
Powinieneś mieć zapytanie:
  1. SELECT * FROM mecze WHERE team1='Hash' OR team2='Hash'

A jeszcze lepiej tak:
  1. SELECT * FROM mecze WHERE 'Hash' IN (team1, team2)
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 - 04:52