Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Klauzula WHERE z datą
Forum PHP.pl > Forum > Bazy danych > MySQL
mys
Zapytanie:

  1. <?php
  2.  
  3. $sql = "SELECT * FROM dokument WHERE 'data' > 2006-01-01";
  4.  
  5. ?>


nie wybiera dat wiekszych od 2006-01-01. Jeśli wpisze powyższe zapytanie z poziomu klienta mysql wtedy wszystkow jest ok.

W jaki sposób mogę zapisać poprawnie powyższe zapytanie w php? Próbowałem 'data' > '2006-01-01' data > '2006-01-01' ale to nie przynosi rezultatu.
SongoQ
Ostatnio to juz plaga na forum. Nie ma czegos takiego jak ' w nazie pola, tabeli
Albo dajesz:

  1. SELECT *
  2. FROM dokument
  3. WHERE DATA > 2006-01-01

albo
  1. SELECT *
  2. FROM dokument
  3. WHERE `data` > 2006-01-01


oprocz tego stosuj rzutowanie typow
spenalzo
  1. SELECT *
  2. FROM dokument
  3. WHERE DATA > 2006-01-01


Hm.. data nie powinna być czasem w apostrofach? W sumie w takiej postaci jak teraz jest to dość dwuznaczne - albo data, albo odejmowanie... Pytam teoretycznie, nie mam w domu MySQLa wiec nawet nie mam jak spraedzić tongue.gif


A co do apostrofów, to moim zdaniem wina phpmyadmina - stosuje on odwórcone apostrofy, co dość często może być przyczyną pomyłek, a wcale nie jest wymagane...
mys
Zrobiłem tak:

  1. <?php
  2.  
  3. $data= "2006-01-01";
  4. $sql = "SELECT * FROM dokument WHERE data_ksiegowania >= '$data'"; 
  5.  
  6. ?>


i zadziałało w końcu.

hmm Bez apostrofów u mnie nie działa. Dziękuje Wam za sugestie. Problem rozwiązany.
SongoQ
Oczywiscie string daty ma byc w apostrofach, jakos przeoczylem to.
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.