![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 6.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Formularz wysyłający zapytanie ma taką postać (skrótowo:) Chciałbym na podstawie przesłanych danych sformułować zapytanie MySQL w postaci (wynik.php):
Niestety php zwraca błąd zapytania. Pytanie do Was: czy można w ten sposób sformułować zapytanie MySQL jak w przykładzie(linia 7) - tzn. tak że zapytanie jest "sklejane" z danych przesłanych przez formularz. Mógłbym usunąć z formularza "LIKE, NOT LIKE" itd, ale chciałbym uniknąć dzięki temu warunków php (if, elseif...), gdyż kolumn jest jeszcze kilka i w konsekwencji warunków będzie kilkadziesiąt. Proszę o jakieś w wskazówki dla forumowiczów obytych z tematem ![]() Dziękuję z góry i i pozdrawiam. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 226 Pomógł: 23 Dołączył: 2.10.2007 Skąd: Słupsk Ostrzeżenie: (0%) ![]() ![]() |
chyba pozapominałeś o znakach = czyż nie? -------------------- banan wszyscy.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 6.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Hmm, nie wiem, nie działa. Chciałbym a by zapytanie miało postać np:
tak aby to formularz przesyłał po zaznaczeniu stosownej opcji całe wyrażenie:
lub
(A nie tylko 'Anna' czy 'Nowak') i dopiero potem tworzył z tego całe zapytanie. Jak wstawię znaki = to będę miał np.
A takie zapytanie mi nie przejdzie. Nie wiem czy dobrze wyraziłem o co mi chodzi. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 13.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 1 Dołączył: 26.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
a moglbys wrzucic tresc bledu ktory wyrzuca Ci mysql?
jezeli nie widac proponuje wykonac samo zapytanie w kliencie mysql.exe z katalogu mysql na localhoscie albo w phpmyadmin. moim zdaniem powinno byc:
apropo kolejnego zapytania: nie ma takiego czegos jak
(przynajmniej w mysql5.0) jak już :
Nie wiem o co chodzi w koncowce ... jezeli to nie dziala blad musi byc gdzie indziej a nie z powodu znakow '=', sql musi wiedziec jaka ma byc zaleznosc miedzy wartoscia w polu a podana wartoscia, operator zawsze musi byc (czyli tu '=' albo NOT LIKE) |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
dales: nazwisko '$nazwisko' a $nazwisko zawiera LIKE 'Nowak' czyli w rezultacie otrzymasz nazwisko 'LIKE 'Nowak'' no przeciez to sieczka a nie zapytanie. powinno byc nazwisko $nazwisko analogicznie reszta. Na przyszlosc wyswietlaj sobie jak wygląda wygenerowane zapytanie, jaki konkretnie blad dostajesz. Wszystko masz tutaj: Temat: Jak poprawnie zada pytanie jesli bedziesz mial jakis problem, zanim napiszesz, zastosuj sie do podanych tam porad. Kolejna sprawa, ze takie sqlinjection dajesz hakierowi ze sie w glowie nie miesci ![]() ps: NOT LIKE 'Anna', 'Ewa', 'Adam' * jak ty sobie wyobrazales ze te zapytanie bedzie dzialac? No chyba bez paru ifow sie nie obejdzie. Moze to ci cos pomoze http://nospor.pl/wyszukiwarka-zapytanie-za...runkow-n31.html -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 6.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Cytat dales: nazwisko '$nazwisko' a $nazwisko zawiera LIKE 'Nowak' czyli w rezultacie otrzymasz nazwisko 'LIKE 'Nowak'' no przeciez to sieczka a nie zapytanie. No tak, faktycznie bez sensu - źle przekleiłem swój przykład. Cytat Kolejna sprawa, ze takie sqlinjection dajesz hakierowi ze sie w glowie nie miesci ![]() Z tym zagadnieniem dopiero się zapoznaję, mam nadzieję że nie wywróci mi wszystkiego do góry nogami... ![]() Dziękuję wszystkim za pomoc i naprowadzenie. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 17.06.2025 - 12:24 |