mysqli_connect():( HY000/2002):无法建立连接,因为目标计算机主动拒绝它

Sam*_*ami 7 php xampp mysqli

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

我试过的事情: -

  • 检查防火墙

  • 重新启动我的PC和Apache服务器

  • 重启MYSQL

  • 检查了我的代码

  • 尝试了我所知道并在互联网上找到的一切

这是我的代码: -

<?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);

 ?>
Run Code Online (Sandbox Code Playgroud)

我确实设置了密码,但它仍然显示错误.

这是防火墙图片: - 在此输入图像描述

最后XAMMP在这里运行是证明

在此输入图像描述

Qir*_*rel 10

如果你看一下你的XAMPP控制面板,就会清楚地说明MySQL服务器的端口是3306- 你提供的3360.这3306是默认值,因此不需要指定.即便如此,第五个参数mysqli_connect()是端口,它应该指定在哪里.

您可以完全删除端口规范,因为您正在使用默认端口

$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$db     = 'test_db13';
Run Code Online (Sandbox Code Playgroud)

参考

  • 这看起来与我的答案非常相似 (2认同)
  • 不过,在发布任何答案之前,我已经在评论中指出了这一点;-)它们看起来相似的唯一原因是因为这是解决他的问题的最简单的方法!英雄所见略同,不是吗? (2认同)

小智 7

您输入了错误的端口号 3360 而不是 3306。如果您使用 daefault,则不需要写入数据库端口号(如果是 MySQL,则为 3306)


小智 6

如果您使用非默认 MySQL 端口号,请执行以下操作:

  1. 停止您的 xampp/wamp/etc 会话
  2. 在phpMyAdmin文件夹下的config.inc.php中设置MySQL使用的端口号。
  3. 例如,如果您的 MySQL 端口号33747粘贴以下内容
    $cfg['Servers'][$i]['port'] = 33747;
    
    Run Code Online (Sandbox Code Playgroud) 在下面
    /* Authentication type and info */
    
    Run Code Online (Sandbox Code Playgroud) 部分。
  4. 重新启动 Apache 和 MySQL 服务器。