如何使用PHP连接db4free.net数据库?

13

我在db4free.net上创建了一个数据库,现在想用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,删除端口等)。我尝试了所有组合,但没有一个起作用。登录数据已被多次检查。问题可能是什么?


2
尝试连接到 85.10.205.173 - 看起来 DNS 解析并不总是有效。 - user2629998
如果我能与支持人员交谈,我会非常高兴,但我的英语真的很糟糕,我无法与他们沟通。(而且在我的国家没有支持...)。文档在哪里? - RuntimeException
听起来他们在很多方面都有问题,他们的网页也无法加载。换一个提供商,搜索“免费在线MySQL”。 - Saic Siquot
好的,谢谢。这将是今天的第五步。 - RuntimeException
1
你懂的,便宜无好货。 - deceze
显示剩余4条评论
5个回答

10

这对我有用...

$host = "db4free.net"; 

1
是的,我也是,在 Python 上成功了。 - yussan
我也无法连接。我收到了一个错误消息:无法连接:用户'root'@'129.41.86.1'被拒绝访问(使用密码:是)。 - anandhu

9

我尝试使用这段代码,它对我有效。

$host = "85.10.205.173:3306"; 

2

也许现在回答这个问题有点晚了。

但我希望这能帮到任何像我一样遇到连接失败或访问拒绝问题的人。

db4free.net 在使用3306端口监听数据库的同时,也提供在其他端口上运行的mysql服务器。创建账户时,请务必记住所选的服务器。

就像我的情况一样,我的账户是在他们新设置的mysql 8服务器上创建的,并且它运行在3307端口上。


-1

如果您的MySQL版本为8.0.16,您可以使用此代码进行连接。

$host = 'db4free.net:3306'; 
$dbuser = {your-dbuser};
$dbpassword = {your-dbpassword};
$dbname = {your-dbname};

$conn = mysqli_connect($host,$dbuser,$dbpassword,$dbname);
if($conn){
    mysqli_query($conn,'SET NAMES uff8');
    echo "Connection - successful </br>";
}
else {
    echo "Connection - failed </br>" . mysqli_connect_error();
}

2
那么我们如何连接呢?你只是在声明一堆变量。 - Someone_who_likes_SE
在这个答案中,您可以更改为您的数据。如果 3306 无效,则可以将端口更改为 3307,或者参见 db4free 博客 - Leisure

-1
不要在主机名的末尾设置端口。3306确实是mysql连接的默认端口。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接