我正在尝试使用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次,这一切都是正确的。我只是看不出问题!
我该怎么做?
答案 0 :(得分:1)
您的DSN似乎不正确。 The documentation on MySQL DSNs表示它应该看起来像这样:
$db = new PDO("mysql:host=localhost;dbname=bbc_archive;port=3306", "root", "");