Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Zapytanie SELECT i opcja BETWEEN, działanie na zmiennych
TheaSiX
post 20.04.2009, 22:50:12
Post #1





Grupa: Zarejestrowani
Postów: 110
Pomógł: 10
Dołączył: 3.09.2006
Skąd: Bishop Auckland

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


Wprawdzie rozwiązałem już problem, o których chciałem wcześniej pisać (innym sposobem), to nadal mam niejasną sprawę do jednej rzeczy:

Staram się tworzyć coraz bardziej skomplikowane zapytanie do mojej bazy danych, aby się podszkolić i zyskać na czasie etc.

Chciałem sprawdzić dwa pola w jednej tabeli. Są to daty, ale (mój błąd - wiem) pola te są varchar a nie date, datetime czy timestamp. Mimo to chciałem wyświetlić wszystkie rekordy, które mieszczą się w danym przedziale czasowym. Na początku myślałem, że z powodu typu pola w tabeli coś może nie działać, ale poniższe zapytanie przyniosło oczekiwane rezultaty:

  1. <?php
  2. $sql = "SELECT id, purchase_date FROM products WHERE purchase_date BETWEEN '01.04.2009' AND '16.04.2009'";
  3. ?>


Jednak przez dwie godziny nie mogłem pojąć dlaczego nie działa zapytanie następujące:

  1. <?php
  2. $date_a = "01.04.2009";
  3. $date_b = "16.04.2009";
  4.  
  5. $sql = "SELECT id, purchase_date FROM products WHERE purchase_date BETWEEN '$date_a' AND '$date_b'";
  6. ?>


Powyższe zapytanie spowoduje wyświetlenie wszystkich rekordów tak jakby nie było w ogóle konstrukcji WHERE...

Próbowałem różnych sposobów(konwersja typu zmiennych, cudzysłowa zamiast apostrofów). Jednak nie znalazłem żadnego rozwiązania. Byłbym wdzięczny gdyby ktoś rozjaśnił mi sytuację smile.gif

Ten post edytował TheaSiX 21.04.2009, 21:17:18
Go to the top of the page
+Quote Post

Posty w temacie


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: 22.06.2025 - 03:34