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

Rob*_*lds 0 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();
Run Code Online (Sandbox Code Playgroud)

我已经看到此错误是经常发生的,但是没有解决方案。我检查了my.cnf,并确定我使用的是mysql数据库所在的端口。我还确定数据库名称,登录名和密码正确,因为我正在使用它们通过外壳访问数据库。

可能是什么问题呢 ?

chr*_*con 5

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

'mysql:host=localhost;port=3306 ...'
Run Code Online (Sandbox Code Playgroud)