mysqli_connect(): (HY000/2002): 无法连接,因为目标机器主动拒绝

2022-01-14 00:00:00 xampp php mysqli

我知道有很多这样的问题,但我没有找到任何解决方案.

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的标准连接

相关文章