所以我试图远程连接到godaddy上托管的数据库。我每次都收到1045错误。在故障排除期间,我回到了本地托管的代码,并尝试将主机名从“localhost”更改为服务器IP地址...这也导致1045错误。我已经验证了ip地址确实是正确的。该数据库托管在godaddy共享主机帐户上。我已经通过它们进行了所有的故障排除,他们无法得到一个主机名,这将使我相信问题是mysql或cpanel用户只被分配给“localhost”。关于如何解决这个问题的任何想法?第一行代码有效,第二行没有。
$db = new PDO('mysql:host=localhost;port=3306;dbname=name;charset=UTF8', 'user', 'pw', array(PDO::ATTR_EMULATE_PREPARES => false));
$db = new PDO('mysql:host=100.100.100.1;port=3306;dbname=name;charset=UTF8', 'user', 'pw', array(PDO::ATTR_EMULATE_PREPARES => false));
答案 0 :(得分:0)
删除端口号第二行代码,远程MySQL上的端口号可以不同。 还要确保你用于远程的主机名是活着的。试着ping它。 另外,请确保您对连接有错误处理,如下所示:
try{
//Your second line will go here
} catch(PDOException $e){ //Catch any errors
//$this->error = $e->getCode(). '-'. $e->getMessage();
echo "Could not connect to database: " . $e->getMessage()."\n";
}
我希望它会起作用,我在那里看不到任何问题。