![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 115 Pomógł: 12 Dołączył: 13.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
więc tak mam taki problem który jest związany ze składnią.Jestem jeszcze zielony w tych tematach.Więc tak.Przedstawiam kod który działa:
I teraz tak ten kod nie działa ale jeżeli zamiast tej linijki:
wstawie taką linijke:
to to działa.Dlaczego nie działa ten pierwszy sposób??. Ten post edytował michal_robak 13.05.2006, 13:04:09 -------------------- do wszystkiego trzeba podejść z głową a problem sam się rozwiąże
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 30.05.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Nie działa bo na końcu tej linijki jest " zamiast '' lub ""
Tak mi się przynajmniej wydaje ![]() Sorki źle spojrzałem - po OR powinno coś jeszcze być a u Ciebie nic nie ma dlatego jest błąd (np. OR 1=1) Ten post edytował Turbeczek 13.05.2006, 13:26:24 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Trochę za mało informacji... Nie powiedziałeś jaki błąd wyrzuca, dałeś kawałek zapytania, trudno zgadywać...
W pierwszym kodzie zgubiłeś apostrof w linijce 23:
Co do zapytań, to sobie strasznie skomplikowałeś sprawę, trzeba zacząć od zapisania tego w lepszy sposób:
Co daje Kod tytul='tekst' 'tekst' Nie spotkałem się z taką składnią jeszcze... Drugi kod:
Tutaj już tego błędu nie ma, jeżeli doklejasz kolejny warunek... -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 115 Pomógł: 12 Dołączył: 13.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Sory zapomniałem napisać jaki błąd wyskakuje.Oto on:
Kod Warning: pg_query(): Query failed: ERROR: syntax error at or near "'or'" at character 40 in c:\usr\krasnal\www\michal\index4.php on line 57 Warning: pg_num_rows(): supplied argument is not a valid PostgreSQL result resource in c:\usr\krasnal\www\michal\index4.php on line 60 Nom.I tak.Jeżeli chodzi o apostrof to dziwnie sie wkleiło i tego nie zauwazyłem.W skrypcie jest ok. Jeżeli chodzi o drugi skrypt to dalej jest ten sam błąd. A jezeli chodzi o 3 skrypt to jest dobrze.Tylko że tak nie może być ,ponieważ mi trzeba w tym miejscu wlaśnie mieć możliwość wyboru 2 opcji OR i AND. -------------------- do wszystkiego trzeba podejść z głową a problem sam się rozwiąże
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 30.05.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Tak jak napisał Ludvik.
Ten kod
Nie ma poprawnej składni. Trzeba pomiędzy $_POST['pole1'] a $_POST['pole3'] wstawić OR lub And (w zależności od tego co potrzebujesz Gdzie pole3 jest kolejną opcją a nie tak jak tutaj spójnikiem (wybieranym w select) Ten post edytował Turbeczek 13.05.2006, 13:57:06 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Teraz widzę błąd... jeżeli chcesz wstawić do zapytania OR, to nie w apostrofach, bo jest traktowany jako ciąg znaków, a nie słowo kluczowe SQL. Poza tym, sposób, w który sprawdzasz czy wartości dla pól istnieją, nie gwarantuje ci, że zapytanie się nie rozsypie. Po pierwsze: jeżeli chcesz sprawdzić czy zmienna instnieje, to robisz to funkcją isset(). Po drugie: Co się stanie, jeżeli pola 1 i 3 będą istniały, a drugie nie? Zapytanie skończy się na OR albo AND, co spowoduje błąd składni. Z takimi przypadkami też trzeba się liczyć.
-------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 115 Pomógł: 12 Dołączył: 13.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
No niestety powiem szczerze że nie za bardzo wiem o co chodzi.A jeżeli chodzi o składnie to wogle lipa.No nic jakoś trzeba bedzie coś wykombinować.Dzieki za odpowiedzi.
-------------------- do wszystkiego trzeba podejść z głową a problem sam się rozwiąże
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Twoje zapytanie wygląda tak:
Kod SELECT * FROM WIDOK1 WHERE tytul = 'jakis_tytul' 'or' rezyser = 'jakis_rezyser' Powinno wyglądać tak: Kod SELECT * FROM WIDOK1 WHERE tytul = 'jakis_tytul' OR rezyser = 'jakis_rezyser' Jeżeli masz pole 1 i 3, a drugiego nie ma to zapytanie będzie wyglądało tak: Kod SELECT * FROM WIDOK1 WHERE tytul = 'jakis_tytul' OR Brakuje drugiego warunku... -------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 115 Pomógł: 12 Dołączył: 13.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
To czyli nie da sie w ten sposób jak ja chciałem tego zrobic(bo próbowałem na różne sposoby)
![]() ![]() -------------------- do wszystkiego trzeba podejść z głową a problem sam się rozwiąże
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Sam select jest ok, ale sposób w który wklejasz z niego dane jest zły... Powinno być tak:
Różnica to te dwa apostrofy po prostu. -------------------- |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 115 Pomógł: 12 Dołączył: 13.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
![]() ![]() ![]() W wolnych chwilach ![]() ![]() -------------------- do wszystkiego trzeba podejść z głową a problem sam się rozwiąże
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 03:38 |