![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 1 Dołączył: 21.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Potrzebuję napisać klasę która zarządza newsami w bazie danych. Chcę zmienną private $conn do połączenia z bazą i z 3 metody insert update delete. Tabela newsy = id, temat, news, created_at jako timestamp + wyjątki rzucane w przypadku niepowodzenia i łapanie w try catch. Byłbym super wdzięczny gdyby ktoś poświęcił chwilkę na napisanie tego kodu. Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Że też najprostsze rzeczy trzeba tłumaczyć... Od początku, powoli - napisałem ironicznie, że takie używanie PDO jest bez sensu ze względu na fakt, że takie wykonanie zapytania (uwaga, w przykładzie jest akurat insert, ale równie dobrze może być to select z parametrami!):
Nie różni się się absolutnie niczym od :
Teraz sendo sprawy, otóż dlaczego? Bo jedno i drugie zapytanie jest tak samo nieporęczne i tak samo podatne na wszelkiego rodzaju ataki lub nawet błędy programisty. Specjalnie kazałem użyć autorowi mysql_* by zwrócić jego uwagę na ten aspekt (czyli różnice pomiędzy jednym a drugim sposobem). Biblioteka PDO ma kilka ciekawych i poręcznych narzędzi, które warto używać, przede wszystkim można stosować placeholdery w zapytaniach, np.:
By podstawiane wartości zostały automatycznie dopasowane do kolumny, poprzez odpowiednie opakowanie w cudzysłowy, dodanie znaków ucieczki, itd. Czy to takie trudne do pojęcia? Oczywiście, jeśli ktoś lubi, to może i tak jak poniżej, w końcu mamy demokrację. Tylko niech nie mówi, że jest to optymalne, a przede wszystkim poprawne zastosowanie.
To tak jak wbijanie gwoździ Samsungiem Galaxy, kiedy można to zrobić Nokią 3210. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 07:51 |