I get an error when trying to connect to mydb. I know the login and password work

Here is my code that does not work;

require_once '/usr/local/php52/pear/MDB2.php';
global $mdb2;

$dsn = array(
'phptype' => 'mysql',
'username' => 'root',
'password' => 'password',
'hostspec' => 'localhost:3306',
'database' => 'mydb',
);

$options = array ( 'persistent' => false
);


$mdb2 =& MDB2::connect($dsn, $options);
if (PEAR::isError($mdb2)) {
die($mdb2->getMessage());
}


echo '<br />mdb2='. $mdb2 . '<br />';
$mdb2->loadModule('Extended');
$mdb2->setFetchMode(MDB2_FETCHMODE_ASSOC);

Here is my result:

MDB2 Error: connect failed


As a test I made the code:

$host = "localhost:3306";
$user="root";
$password="password";
$database="mydb";

$dbc = mysql_connect($host,$user,$password);

and I connect.