我的连接参数是正确的,因为我用它来成功连接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无法连接似乎有问题。
答案 0 :(得分:0)
我检查了phpinfo,看看MySQL服务器正在侦听哪个端口,我发现它是空值(没有指定端口):
所以我只是从主机值中删除了端口以使其工作:
$connection = new PDO('mysql:host=localhost;dbname=mydatabasename', 'root', 'root');
mysqli
但是使用了端口3306
。我以为PDO和mysqli将使用相同的端口但似乎我错了:)