Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wybiera mi tylko jeden rekord zamiast wszystkich (LIKE)
Forum PHP.pl > Forum > Bazy danych > MySQL
szyn33k
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.
mortus
  1. SELECT * FROM `mecze` WHERE 'team1' LIKE 'Hash' OR 'team2' LIKE 'Hash';
damianooo
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
szyn33k
  1. "SELECT * FROM mecze WHERE (team1 like '%$nazwa%') OR (team2 like '%$nazwa%')"

Działa tak.
Dzięki smile.gif
mmmmmmm
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)
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.