MySQL versus PDO [duplicate]

Solution 1:

PDO has the following advantages over the mysql_* functions:

  • It's cross database, meaning it's the same interface for different relational databases.
  • It helps protect against SQL injections.
  • It's much cleaner (uses an object-oriented approach).

This question has been asked before, you may want to take a look at the answers:

  • Moving from mysql to mysqli or pdo?
  • mysqli or PDO - what are the pros and cons?

If you are starting a new project, I would strictly suggest using PDO or a higher-level library/ORM. If you already have a lot of code written without it, it may not be worth it.

Solution 2:

PDO has the advantages listed over at the pages linked to above: database abstraction (i.e. your code is made portable across a variety of flavours of DB), it handles a lot of the usual security issues for you if you use its prepared statement features and it returns results as Class instances (which by itself can greatly improve your code by encouraging an object oriented approach), etc., etc.

However the very best approach would be for you to look into an ORM library such as Doctrine. It may seem like overkill given the size of your project, but frankly it's never too early to start learning best practice. An excellent overview of how to build bullet-proof, maintainable database-driven apps given by the lead developer of the Zend Framework can be watched at http://mtadata.s3.amazonaws.com/webcasts/20090724-playdoh.wmv