Using PDO you have to use a DSN-String to [http://de2.php.net/pdo-construct connect] to the database: $dsn = 'mysql:dbname=testdb;host=127.0.0.1'; $user = 'dbuser'; $password = 'dbpass'; $dbh = new PDO($dsn, $user, $password); But that's not nice if you have to parse config files for example. It would be nice to config DB-settings using an array as [http://pear.php.net/manual/en/package.database.db.intro-connect.php PEAR::DB], or parameters as [http://phplens.com/lens/adodb/docs-adodb.htm#connect ADOdb]..., too! PEAR::DB style: $dsn = array( 'phptype' => 'mysql', 'hostspec' => '127.0.0.1', 'database' => 'testdb' ); $user = 'dbuser'; $password = 'dbpass'; $dbh = new PDO($dsn, $user, $password); Furthermore it would be very beneficial to also support the PEAR DSN format since its well established and documented: http://pear.php.net/manual/en/package.database.db.intro-dsn.php