我有错误:SQLSTATE [HY000] [2005]未知的MySQL服务器主机

时间:2017-02-12 21:35:22

标签: php mysql

我正在使用mysql数据库。我想用我写的脚本连接到它:

<?php

function getDatabase() {
    $host = 'localhost:3306';
    $db = 'freya';
    $login = 'root';
    $pw = 'helloitsme';

    try {
        return new PDO('mysql:host='.$host.';dbname='.$db.';charset=utf8', $login, $pw);
    } catch (Exception $e) {
        die('Erreur : '.$e->getMessage());
    }
}

$db = getDatabase();

我已经看到这个错误是重复的,但没有一个解决方案适用。 我检查了my.cnf,我确定我正在使用mysql db所在的端口。 我也确定数据库名称,登录名和密码是正确的,因为我正在使用它们来访问带有shell的数据库。

可能是什么问题?

1 个答案:

答案 0 :(得分:5)

您不需要指定端口,因为3306是mysql的默认端口,但是如果这样做,则正确的连接字符串是

'mysql:host=localhost;port=3306 ...'