Doctrine_Db allows both PEAR-like DSN (data source name) as well as PDO like DSN as constructor parameters. Getting an instance of Doctrine_Db using PEAR-like DSN: "; renderCode($str); ?> Getting an instance of Doctrine_Db using PDO-like DSN (PDO mysql driver): "; renderCode($str); ?> Getting an instance of Doctrine_Db using PDO-like DSN (PDO sqlite with memory tables): "; renderCode($str); ?> Handling connection errors: query('SELECT * FROM foo') as \$row) { print_r(\$row); } \$dbh = null; } catch (PDOException \$e) { print 'Error!: ' . \$e->getMessage() . ' '; die(); } ?>"; renderCode($str); ?>