Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL]Problem z zapytaniem zawierającym BETWEEN
eurosoft
post 30.01.2011, 18:46:42
Post #1





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 5.11.2010

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


Witam, mam poniższe zapytanie które generuje mi błąd. Kłopot się pojawił gdy dołożyłem warunek Between, proszę o wskazówki gdzie mam bagga...
  1. $sql1 = "SELECT
  2. $tabela.id_book,
  3. $tabela.imie_nazwisko,
  4. $tabela.start_pol,
  5. $tabela1.animals,
  6. $tabela1.animals1,
  7. $tabela1.animals2,
  8. $tabela1.ilosc,
  9. $tabela1.ilosc1,
  10. $tabela1.nr_obw,
  11. $tabela1.ilosc2
  12. FROM $tabela LEFT JOIN shot ON $tabela.id_book=$tabela1.id_book WHERE $tabela.nr_obw='{$_SESSION['nr_obw']}' and (BETWEEN $tabela.start_pol=$data_od AND $tabela.start_pol=$data_do) ";


zmienne $data_od oraz $data_do przekazywanie są z innego formularza poprzez POST
Go to the top of the page
+Quote Post
sadistic_son
post 30.01.2011, 18:57:02
Post #2





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


1) Jak blad?
2) jesli pole $tabela.start_pol jest typu varchar, char czy text to musisz uzyc pojedynczego cudzysłowu:
  1. $sql1 = "SELECT
  2. $tabela.id_book,
  3. $tabela.imie_nazwisko,
  4. $tabela.start_pol,
  5. $tabela1.animals,
  6. $tabela1.animals1,
  7. $tabela1.animals2,
  8. $tabela1.ilosc,
  9. $tabela1.ilosc1,
  10. $tabela1.nr_obw,
  11. $tabela1.ilosc2
  12. FROM $tabela LEFT JOIN shot ON $tabela.id_book=$tabela1.id_book WHERE $tabela.nr_obw='{$_SESSION['nr_obw']}' and (BETWEEN $tabela.start_pol='$data_od' AND $tabela.start_pol='$data_do') ";
Jesli nie jest to pole typu DATE czy liczbowego to tez moga byc problemy z wybraniem czegos pomiedzy.

Ten post edytował sadistic_son 30.01.2011, 18:58:51


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
eurosoft
post 30.01.2011, 19:14:49
Post #3





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 5.11.2010

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


Błąd mam następujący:
Queryproblem: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BETWEEN book.start_pol='2011-01-30' AND book.start_pol='2011-01-30')' at line 12

pole jest typu DATE
Go to the top of the page
+Quote Post
sadistic_son
post 30.01.2011, 19:40:01
Post #4





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


A wyjaśnij mi co jest pomiędzy 2011-01-30 a 2011-01-30 ?


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
eurosoft
post 30.01.2011, 19:52:16
Post #5





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 5.11.2010

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


Queryproblem: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BETWEEN book.start_pol=2011-01-09 AND book.start_pol=2011-01-30)' at line 12

przy zmianie daty (dane zawierające są napewno) nadal to samo....
Go to the top of the page
+Quote Post
melkorm
post 30.01.2011, 19:55:22
Post #6





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


  1. (BETWEEN $tabela.start_pol='$data_od' AND $tabela.start_pol='$data_do') ";


Zacznij od manuala

Bo masz błąd z konstrukcją zapytania, w ogóle po cholerę tam jest between skoro i tak go nie używasz?


--------------------
Go to the top of the page
+Quote Post
eurosoft
post 30.01.2011, 21:34:36
Post #7





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 5.11.2010

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


A będziesz uprzejmy podpowiedzieć gdzie jest ten błąd? Gdybym wiedział to zapewniam Cię że bym nie szukał tu pomocy......

OK nieważne poradziłem sobie....
Go to the top of the page
+Quote Post
thek
post 31.01.2011, 11:23:05
Post #8





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Dla tych, którzy nie zakumali gdzie byka zrobił autor tematu... Rozwiązanie już mu podano wcześniej. Miał złą składnię BETWEEN. Powinno być -> AND kolumna BETWEEN wartość1 AND wartość2


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
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: 20.07.2025 - 02:20