Quando è necessario citare le dichiarazioni preparate di pdo in PHP?

È dal commento sotto questa risposta, ma davvero non capisco cosa intenda:

Come passare da mysql a pdo usando istruzioni preparate in PHP?

Quando si usano le istruzioni preparate non è necessario sfuggire / citare manualmente un parametro string per il dbms (parser).
Il commento si riferisce a http://docs.php.net/pdo.prepared-statements :

Le dichiarazioni preparate sono così utili che sono l'unica caratteristica che PDO emulerà per i driver che non le supportno.

Cioè se il driver non support le istruzioni preparate, PDO esporrà ancora le istruzioni di preparazione parte di API e le "tradurrà" in istruzioni SQL contenenti i parametri (ad es. INSERT INTO foo (x,y,z) values(1,2,3) ). Ma lo farà in modo trasparente, cioè gestirà automaticamente il quoting.

Le istruzioni preparate vengono preparate perché si creano indicatori per PDO per inserire valori e questi valori possono essere denominati (ad esempio: accountId,: url) where PDO troverà il marcatore denominato, o posizionale (in particolare, un punto interrogativo (?)) where PDO inserirà i valori nell'ordine in cui sono stati posizionati i marcatori.

per esempio:

 $ query = "SELECT user_id FROM users WHERE username =?";
 $ statement = $ pdo-> prepare ($ query);
 $ statement-> execute (arrays ("John Smith"));

Si noti la netta mancanza di parametri denominati (in particolare, utilizzando un? Invece di: username), e viene invece utilizzato lo stile posizionale. È puramente una scelta personale utilizzare l'una o l'altra, anche se trovo che l'uso dei parametri nominati sia più chiaro durante il debug.

In each modo. Ciò significa che non devi citare se stai usando istruzioni preparate e non devi preoccuparti dell'iniezione SQL quando usi istruzioni preparate.

Ora, ciò che sta realmente accadendo è che PDO sta chiedendo al driver del database (MySQL, PostgreSQL, MS SQL, Oracle, ecc.) Di preparare l'istruzione, ma se il driver del database non può prepararlo, PDO simulerà quella caratteristica. Questo in cui le cose iniziano a diventare confuse, ma puoi tranquillamente dimenticartene e ricorda solo di usare le istruzioni preparate con i parametri.