虽然在php.ini中启用了PDO连接但它仍无法正常工作

时间:2013-03-15 16:34:38

标签: php pdo

我的连接参数是正确的,因为我用它来成功连接mysqli。但是自从切换到PDO后,我遇到了麻烦,并且总是抛出异常Unknown MySQL server host

我的相关代码是:

class UpdateStock{
     public function __construct(){
        try{
           $connection = new PDO('mysql:host=localhost:8889;dbname=mydatabasename', 'root', 'root');   
           $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

           echo 'connection succedded'; 

        }catch(PDOException $e){
         echo $e;//Always got exception
        }
    }

}//End of class

$updateStock = new UpdateStock;

我的php.ini文件启用了mysql的PDO选项: extension=pdo_mysql.so

MAMP正常运行,因此PDO无法连接似乎有问题。

1 个答案:

答案 0 :(得分:0)

我检查了phpinfo,看看MySQL服务器正在侦听哪个端口,我发现它是空值(没有指定端口):

enter image description here

所以我只是从主机值中删除了端口以使其工作:

   $connection = new PDO('mysql:host=localhost;dbname=mydatabasename', 'root', 'root');   

mysqli但是使用了端口3306。我以为PDO和mysqli将使用相同的端口但似乎我错了:)