Ho questa stessa domanda per chiarire le cose. Ho letto alcuni documenti e commenti in giro ma ancora qualcosa non sono abbastanza chiari.PDO vs MYSQLI, Statemens preparati e Parametri di rilegatura
- Capisco PDO offre più driver che sarebbe sicuramente un vantaggio se si dovesse mai cambiare il tipo di database.
- Come detto in un altro post, DOP doesnt offrono vere istruzioni preparate ma mysqli fa quindi sarebbe più sicuro utilizzare MySQLi
- benchmark sembra simile, (non l'ho provato io stesso, ma controllato in giro sul web per alcuni parametri di riferimento)
- Essendo orientato agli oggetti non è un problema per me dal momento che mysqli sta recuperando. Ma sarebbe bello fare un benchmark mysqli procedurale rispetto a PDO visto che il procedimento dovrebbe essere leggermente più veloce.
Ma qui è la mia domanda, con la dichiarazione preparata, dobbiamo usare il collegamento dei parametri con i dati che usiamo nella nostra dichiarazione? buone pratiche o devono? Comprendo che le dichiarazioni preparate sono buone in termini di perfermance se si esegue la stessa query più volte ma è sufficiente per proteggere la query stessa? o i parametri vincolanti sono obbligatori? Cosa fanno esattamente i parametri di binding e come funziona per proteggere i dati da SQL injection? Sarebbe anche gradito se lei indicasse qualsiasi nostro fraintendimento riguardo alle affermazioni che ho fatto sopra.
grazie
[Le istruzioni preparate devono essere utilizzate solo per l'escape?] (Http://stackoverflow.com/a/16365669/285587) –
qual è il post che dichiara che PDO non supporta le istruzioni preparate in modo nativo? Deve essere cancellato o almeno downvoted –
http://stackoverflow.com/questions/134099/are-pdo-prepared-statements-sufficient-to-prevent-sql-injection, Quote => "La cosa importante da realizzare qui è che PDO di default NON esegue affermazioni vere e preparate, ma le emula (per MySQL). ", Può essere frainteso ... – Leon