我在db4free.net上创建了一个db,我想用php连接到它:
$username = myusername;
$password = mypw;
$host = "db4free.net:3306";
$dbname = mydbname;
$options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8');
try
{
$db = new PDO("mysql:host={$host};dbname={$dbname};charset=utf8", $username, $password, $options);
}
catch(PDOException $ex)
{
die("Failed to connect to the database: " . $ex->getMessage());
}
我收到此错误消息:无法连接到数据库:SQLSTATE [HY000] [2005]未知的MySQL服务器主机
所以我在想,主机名是错误的,所以我试着改变它(添加/ dbname或/ username或删除端口,等等)。我尝试了所有的组合,但没有一个能奏效。多次检查登录数据。可能是什么问题?
答案 0 :(得分:5)
我尝试使用此代码,它对我有用
$host = "85.10.205.173:3306";
答案 1 :(得分:3)
这对我有用......
$host = "db4free.net";
答案 2 :(得分:0)
发布这个问题的答案可能为时已晚。
但我希望这可以帮助那些为我寻找连接失败或访问拒绝解决方案的人。
db4free.net在端口3306上监听数据库时,它们也在其他一些端口上提供mysql服务器。创建帐户时,请务必牢记您选择的服务器。在我的情况下,我的帐户是在新设置的mysql 8 server and it runs on the port 3307
上创建的答案 3 :(得分:-2)
请勿将端口设置在主机名的末尾。无论如何,3306确实是mysql连接的默认端口。