mysqli_connect(): (HY000/2002): 无法连接,因为目标机器主动拒绝
我知道有很多这样的问题,但我没有找到任何解决方案.
I know there are many questions like this, but i didn't find any solution in it.
我尝试过的事情:-
检查防火墙
checked firewall
重新启动我的电脑和 Apache 服务器
restarted my PC and Apache server
重启MYSQL
检查了我的代码
尝试了我在互联网上所知道和找到的一切
Tried everything i know and found on internet
这是我的代码:-
<?php
$dbhost = 'localhost:3360';
$dbuser = 'root';
$dbpass = '';
$db = 'test_db13';
$conn = mysqli_connect($dbhost,$dbuser,'',$db);
if(! $conn){
die('Could not connect connect: ') ;
}
echo 'Successfully Connected';
$sql = 'Connected Successfully';
$retvalue = mysqli_query($sql);
if(! $retvalue){
die('Cannot connect to SQL: ');
}
echo 'DataBase test_db13 has successfully created';
mysqli_close($conn);
?>
我确实设置了密码,但它仍然显示错误.
I did set the password, but it still is showing me the error.
这是防火墙图片:-
XAMMP 终于运行了,这就是证明
lastly XAMMP is running here's the proof
推荐答案
如果你查看你的 XAMPP 控制面板,它清楚地表明 MySQL 服务器的端口是 3306
- 你提供了 3360
.3306
是默认值,因此不需要指定.即便如此,mysqli_connect()
的第 5 个参数是端口,也就是应该指定的地方.
If you look at your XAMPP Control Panel, it's clearly stated that the port to the MySQL server is 3306
- you provided 3360
. The 3306
is default, and thus doesn't need to be specified. Even so, the 5th parameter of mysqli_connect()
is the port, which is where it should be specified.
您可以完全删除端口规范,因为您使用的是默认端口,使其成为
You could just remove the port specification altogether, as you're using the default port, making it
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$db = 'test_db13';
参考文献
mysqli_connect()
- MySQL的标准连接
相关文章