Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Inne zapytanie, inny 'wynik'
Forum PHP.pl > Forum > Bazy danych > MySQL
KCG
Zbudowałem zapytanie i wszystko wygląda OK, ale MySQL zwrócił błąd. Zrobiłem echo $sql;, aby zobaczyć, o co chodzi i tu następuje dziwna sytuacja. Zapytanie niby wygląda tak:
  1. SELECT * FROM o_moto WHERE (o_moto_rok BETWEEN 2002 AND 2004) AND o_moto_marka='BMW' AND o_moto_model LIKE '%950%' AND o_moto_typ='Super Sport' AND o_moto_przebieg>12000 AND o_moto_przebieg<17000 AND o_moto_poj>1800 AND o_moto_poj<2900 AND o_moto_cena>70000 AND o_moto_cena<85000 AND o_moto_kraj='USA'

I do tego błąd MySQL: Unknown column 'o_moto_przebieg1800' in 'where clause'
A z tego, co widzę w ogóle nie ma takiego fragmentu w zapytaniu blinksmiley.gif to tak jakby omijał fragment o_moto_przebieg<17000 AND o_moto_poj>1800. Ale przed mysql_query wszystko przecież wygląda OK.

pzdr
vokiel
Skoro używasz BETWEEN w o_moto_rok, to może dobrym pomysłem byłoby zastosować to do o_moto_przebieg, o_moto_poj oraz do o_moto_cena...
Dobrym zwyczajem jest dawanie nazw tabel w `, a danych w apostrofy ' czyli np:
  1. `o_moto_przebieg` BETWEEN '12000' AND '17000'
KCG
A co jeśli dolna lub górna granica nie będzie podana?
Spróbuję nazwy tabel zrobić z '`' smile.gif
vokiel
To trzeba stworzyć jakieś wartości domyślne, albo w ogóle tego warunku nie podawać.
KCG
Użyłem `` i dla każdego warunku, ale dalej to samo sad.gif Może jakiś inny pomysł?
W każdym razie dzięki za sugestie.

  1. SELECT * FROM `o_moto` WHERE (`o_moto_rok` BETWEEN 1996 AND 2008) AND (`o_moto_marka`='BMW') AND (`o_moto_model` LIKE '%950%') AND (`o_moto_typ`='Super Sport') AND (`o_moto_przebieg` BETWEEN 165 AND MAX(`o_moto_przebieg`)) AND (`o_moto_poj` BETWEEN 0 AND 456) AND (`o_moto_cena` BETWEEN 124 AND 100000) AND (`o_moto_kraj`='Polska')

to MAX chyba źle użyłem? Bo jak są wszystkie dane podane to śmiga biggrin.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.