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();