![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 4.04.2017 Ostrzeżenie: (0%) ![]() ![]() |
Na wstępie witam wszystkich bardzo serdecznie!
Jestem początkujący jeśli chodzi o obiektówkę, dlatego też proszę o wyrozumiałość... Mój problem polega na zapytaniu select z parametrem... Oczywiście wiem, że nie nie powinno tak wyglądać, ale próbuje już wszystkiego.. Zapytanie SELECT powinno wyglądać tak:
Tyle wiem, ale co jeżeli chcę wprowadzić do niej parametr i nie wpisywać go bezpośrednio gdyż istnieje zagrożenie SQL Injection... ale już naprawdę nie mam na to pomysłu.. może Wy mi w tym pomożecie.. Wymyśliłem sobie oto taki zapis (konkretnie chodzi o metodę checkIfIsset()):
Jak widać nie działa... bardzo Was proszę o pomoc... Oto cały kod klasy:
kod uruchomienia:
Ten post edytował molik 4.04.2017, 02:03:33 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 879 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Ty łączysz się z bazą danych za każdym razem wywołując metodę i to 2 razy?
include 'inc/database.php'; Próbowałeś SELECT nrComp FROM 08925902_k1.employers WHERE nrComp = :nrComp wkleić bezpośrednio w konsoli MySQL aby sprawdzić czy masz wynik, tylko zastępując :nrComp wartością |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jak już to count($s->fetchAll()) chociaż lepiej było by zapytanie z COUNT(*) wysłać.
Cała klasa większego sensu nie ma. -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 4.04.2017 Ostrzeżenie: (0%) ![]() ![]() |
Ty łączysz się z bazą danych za każdym razem wywołując metodę i to 2 razy? include 'inc/database.php'; includa ogarnę sobie, jak już wcześniej pisałem staram się wszystkiego już próbować co mi tylko wpadnie do głowy.. Próbowałeś SELECT nrComp FROM 08925902_k1.employers WHERE nrComp = :nrComp wkleić bezpośrednio w konsoli MySQL aby sprawdzić czy masz wynik, tylko zastępując :nrComp wartością Po podstawieniu danych na sztywno - zapytanie działa.. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nigdzie nie odbierasz wynikow SELECT.... viking juz ci napisal co masz zrobic
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 4.04.2017 Ostrzeżenie: (0%) ![]() ![]() |
Nigdzie nie odbierasz wynikow SELECT.... viking juz ci napisal co masz zrobic Widzę, widzę, ale po kolei odpisuje na posty. Koledzy, ale dalej nie wiem, czy taki zapis jeśli chodzi o parametr i późnieje preparowanie.. Po prostu jak dokonać zapisu zapytanie do mysql jeśli w zapytaniu chcemy umieścić zmienną członkowską, ale w taki sposób aby nie narazić się na sql injection? Czy można to zrobić w taki sposób jak poniżej? Jeśli nie to napiszcie mi jak to zrobić./
Ten post edytował molik 4.04.2017, 13:31:06 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Sposob przypisania zmiennej jest poprawny. Skad pomysl ze jest inaczej?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Kod wyżej jest ok. Jedyne co to można by przekazać jako parametr do funkcji ten numer id.
Później jak zaczniesz poprawiać klasę to wyrzuć wszystkie echo bo za to powinna odpowiadać oddzielna warstwa widoku. Poczytaj też o wstrzykiwaniu zależności (chodzi o adapter bazy danych w tym konkretnym przykładzie). -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 13:11 |