Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Klauzula WHERE z datą, Problem z zapisem w php
mys
post 6.02.2006, 20:01:15
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 1.10.2005

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


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.
Go to the top of the page
+Quote Post
SongoQ
post 6.02.2006, 20:19:55
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


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


--------------------
Go to the top of the page
+Quote Post
spenalzo
post 6.02.2006, 20:49:54
Post #3





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


  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...

Ten post edytował spenalzo 6.02.2006, 20:51:02


--------------------

Go to the top of the page
+Quote Post
mys
post 6.02.2006, 21:04:57
Post #4





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 1.10.2005

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


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.
Go to the top of the page
+Quote Post
SongoQ
post 6.02.2006, 21:28:03
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Oczywiscie string daty ma byc w apostrofach, jakos przeoczylem to.


--------------------
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: 13.08.2025 - 23:21