try { 
    $dsn = "mysql:dbname=test;host=127.0.0.1";//链接mysql的DSN(数据库驱动)
    $user = ‘root‘;//Mysql数据库的用户名
    $password = ‘root‘;//Mysql数据库的密码
    $dbh = new PDO($dsn,$user,$password);
    //     设置属性异常处理模式
//     $dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION );//(0,1,2)
//还可以设置$dbh->setAttribute(3,2);
//     $dbh->setAttribute(PDO::ATTR_AUTOCOMMIT, 0);
//     $dbh->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_NUM);
    var_dump($dbh);
} catch (PDOException $e) {//
   echo "数据库连接错误:".$e->getMessage();
   echo $e->getFile();//得到异常发生的文件
   echo $e->getLine();//得到异常发生的行
   echo $e->getCode();//得到异常码
   
}
// $pdo->exec(‘set names utf8‘);//不建议这样做
// PDO::ATTR_ERRMODE//错误配置选项
// PDO::ERRMODE_SILENT
// PDO::ERRMODE_EXCEPTION//建议这个一旦有错误就会  抛出异常处理模式
//    PDO::ATTR_AUTOCOMMIT//事务提交  0关闭自动提交  1 开启自动提交  默认是自动提交
//    PDO::ATTR_DEFAULT_FETCH_MODE//返回数组的格式
//            PDO::FETCH_ASSOC//返回关联数组这两种返回最快
//            PDO::FETCH_NUM//返回索引数组
//            PDO::FETCH_BOTH//2者都返回
//            PDO::FETCH_OBJ//返回对象
原文:http://www.cnblogs.com/lodada/p/6935292.html