Navzdory jakémukoli teoretickému rozdílu by žádná z těchto funkcí stejně neměla být používána – takže se není čeho obávat.
Jediným důvodem použití PDO je podpora připravených výpisů , ale žádná z těchto funkcí to nenabízí. Neměly by se tedy používat.
Použijte prepare()/execute()
místo toho zejména pro příkazy UPDATE,INSERT,DELETE.
Vezměte prosím na vědomí, že ačkoli jsou připravená prohlášení široce inzerována jako bezpečnostní opatření, slouží pouze k upoutání pozornosti lidí. Ale jejich skutečný účelem je správné formátování dotazu . Což vám také poskytuje bezpečnost - protože správně naformátovaný dotaz nelze vložit tak dobře - stejně jako vedlejší efekt. Ale znovu – formátování je primárním cílem, protože i nevinná data mohou způsobit chybu v dotazu, pokud nejsou správně naformátována.
EDIT:Všimněte si prosím, že execute()
vrátí pouze TRUE
nebo FALSE
k označení úspěchu operace. Pro další informace, jako je počet záznamů ovlivněných UPDATE
, metody jako rowCount()
jsou poskytovány. Viz dokumenty
.