Using MySQL with PHP Data Objects
As we outlined earlier in this chapter, PDO is a database-independent object-oriented, interface to relational databases for use in PHP 5.x. PDO was officially released with PHP 5.1, although "experimental" versions were available with the 5.0 release. PDO provides a very powerful and easy-to-use syntax, as well as providing good support for MySQL stored programs.
We'll start with a brief review of PDO basics; if you are already familiar with PDO, you might want to skip forward to the section "Calling Stored Programs with PDO" later in this chapter.
Connecting to MySQL
To create a connection to MySQL, we create a database handle using the PDO constructor method. The constructor takes three arguments:
dsnThe
"dsn"string represents the database to be connected; it has the form'mysql:dbname=dbname;host=hostname;port=port_no'.userThe username to be used for the connection.
passwordThe password for the user account specified.
This method will throw an exception if the connection cannot
be made, so you will normally enclose it in a try/catch block. The getMessage( ) method of the PDOException exception will contain
details of any problems encountered when establishing the
connection.
Example 13-20 shows a connection to MySQL being established.
Example 13-20. Connecting to MySQL using PDO
<?php $dsn = 'mysql:dbname=prod;host=localhost;port=3305'; $user = 'root'; $password = 'secret'; try { $dbh = new PDO($dsn, $user, $password); } catch (PDOException ...