PDO dwingt je verder tot het gebruik van prepared statements wat de beveiliging te goede komt.
Je kan PDO ook gebruiken zonder de prepared statements en Mysqli kent ook prepared statements. De beveiling komt vanuit de parameters niet van het prepared statement ansich (alleen heeft een prepared statement zonder parameters geen zin).
Prepared statements in PDO zijn wel beter dan die van Mysqli:
- named parameters en parameter binding
- PDO werkt via de C-API van MySQL, mysqli via de parser
Dat laatste heeft (volgens de MySQL documentatie) performance voordelen.
Ik ben ondernemer en geen scripter, elke minuut die ik korter bezig kan zijn, met het aanpassen van al die queries die op mijn website staan, is mooi meegenomen en kan ik besteden aan andere dingen.
De voordelen van PDO als databaseabstractielaag zijn betrekkelijk gering of nihil wanneer ze elders overboord worden gegooid: door het uitvoeren van MySQL-specifieke queries, die toch alleen in MySQL werken.