![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 1 Dołączył: 12.01.2009 Skąd: Kanapa Ostrzeżenie: (0%) ![]() ![]() |
Dorwałem jakąś ksiązke heliona o programowaniu i zainteresowała mnie biiblioteka PDO tylko mam problem bo niewiem dlaczego takie coś nie zwraca całej tabeli asocjacyjnej tylko jeden jej wpis ? chodzi tu kkonkretnie o funkcje dbRow ale wysyłam nawszelki wypadek całość połączenia.
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 709 Pomógł: 176 Dołączył: 24.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- http://d3ut3r.wordpress.com/ | mysql_* jest przestarzałe UŻYWAJ PDO!
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 1 Dołączył: 12.01.2009 Skąd: Kanapa Ostrzeżenie: (0%) ![]() ![]() |
Co masz na myśli jeśli chodzi o "zasadność" ?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 709 Pomógł: 176 Dołączył: 24.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
Najważniejsza wada moim zdaniem to tak naprawdę odcinasz się zupełnie od PDO, wykorzystując twój kod nie masz na przykład możliwości skorzystania z prepared statements do tego twój kod jest podatny na sql injection więc w zasadzie nie zyskujesz nic czego byś nie miał używając mysql_*
Cały "Pikuś" polega na tym żeby operować na obiekcie PDO wówczas możesz wykorzystać wszystkie jego właściwości w sposób odpowiedni z czasem wejdzie Ci to w nawyk i pisanie:
nie będzie sprawiało problemów. -------------------- http://d3ut3r.wordpress.com/ | mysql_* jest przestarzałe UŻYWAJ PDO!
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Prepared statements to funkcjonalność baz danych a nie PDO.
PDO jedynie udostępnia api do łatwego ich używania. Prepared statements to nie jedyna zabezpieczenie przed SQL injection i wcale nie musi nim być. Jeżeli programista umie budować zapytania bez prepared statements to jeszcze lepiej dla niego. -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 709 Pomógł: 176 Dołączył: 24.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
Z dokumentacji:
Cytat PDO will emulate prepared statements/bound parameters for drivers that do not natively support them, and can also rewrite named or question mark style parameter markers to something more appropriate, if the driver supports one style but not the other. Więc nie jest to zwykłe API to także możliwość symulowania tej funkcjonalności w bazach bez jej obsługi. Oczywiście że to nie jedyne zabezpieczenie ale nie rozumiem w czym używanie tego miałoby być gorsze ?. Jeżeli już używamy PDO to łatwiej moim zdaniem skorzystać z bindowania parametrów. PDO nie jest lekarstwem na całe zło i jak udowodniono nawet w postach na forum, można z niego korzystać a i tak mieć podatny na ataki system, można też z niego nie korzystać i mieć system bezpieczny. Jednak moim zdaniem nie ma sensu wracać do funkcji typu mysql_query(); -------------------- http://d3ut3r.wordpress.com/ | mysql_* jest przestarzałe UŻYWAJ PDO!
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Nie mówię o powrocie do mysql_query, lecz moim zdaniem używanie PS do wszystkich zapytań jest znacznym nadużyciem. Wykorzystanie zwykłych query builderów rozwiązuje całą gamę problemów związanych z SQL injection.
-------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 1 Dołączył: 12.01.2009 Skąd: Kanapa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Tu się chłopaki nie sprzeczają o PDO a o bindowanie zmiennych. Oboje są zgodni, że PDO należy używać, ale różnią się w kwestii bidnowania zmiennych. Czytamy ze zrozumieniem
![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 1 Dołączył: 12.01.2009 Skąd: Kanapa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Wszystko zależy jak zbudowałeś zapytanie. W tym kodzie nie widać.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 21:21 |