无法通过PHP PDO类连接到数据库

时间:2014-03-19 10:15:00

标签: php mysql database pdo

我正在尝试使用PHP中的PDO类连接到我的mySQL数据库。

这是我的代码:

// Connects to Our Database via PDO.
if($local) {
    try {
        $db = new PDO("mysql:=localhost;dbname=bbc_archive;port=3306", "root", "");
        $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
        $db->exec("SET NAMES 'utf8'");
        } catch(Exception $e) {
            echo "Connection to the DataBase was not possible. ";
            die();
        }
    } else {
    try {
        $db = new PDO("mysql:=bbcarchive.db.11505263.hostedresource.com;dbname=bbcarchive", "bbcarchive", "myPassword");
        $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
        $db->exec("SET NAMES 'utf8'");
    } catch(Exception $e) {
        echo "Connection to the live DataBase was not possible. ";
        die();
    }
}

之前定义了$ local变量,并确定脚本是否在实时服务器或测试服务器上运行。

当在我的本地环境中运行时,everthing工作正常,但在我的实时服务器上,它回显了“无法连接到实时数据库”。来自catch区。

我已联系过我的主机提供商(godaddy),他们认为这是编码错误。显然,我还检查了主机名,dbname,用户名和密码100次,这一切都是正确的。我只是看不出问题!

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您的DSN似乎不正确。 The documentation on MySQL DSNs表示它应该看起来像这样:

$db = new PDO("mysql:host=localhost;dbname=bbc_archive;port=3306", "root", "");