【发布时间】:2014-03-19 10:14:59
【问题描述】:
我正在尝试使用 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 变量是之前定义的,用于确定脚本是在实时服务器还是测试服务器上运行。
在我的本地环境中运行时,一切正常,但在我的实时服务器上,它回显“无法连接到实时数据库”。来自 catch 块。
我已经联系了我的主机提供商 (godaddy),他们认为这是一个编码错误。很明显,我还检查了主机名、数据库名、用户名和密码 100 次,一切都正确。我就是看不出问题!
我该怎么做?
【问题讨论】:
-
在第二个
catch块中,添加此代码并向我们展示输出:echo $e->getMessage(); -
在你的第二个
try{}你的DB_HOST 也应该是localhost。