Php Mysql服务器已经消失了。读取问候语包时出错

Php Mysql服务器已经消失了。读取问候语包时出错,php,mysql,mysqli,wamp,wampserver,Php,Mysql,Mysqli,Wamp,Wampserver,当连接到MySql时,我发现MySql服务器出现了一个错误 在这一行$db=mysqli_connectlocalhost:9080,root,XXXX 这是我的密码 <?php ini_set('mysql.connect_timeout', 300); ini_set('default_socket_timeout', 300); define('DB_SERVER', 'localhost:9080'); define('DB_USERNAME', 'root');

当连接到MySql时,我发现MySql服务器出现了一个错误

在这一行$db=mysqli_connectlocalhost:9080,root,XXXX

这是我的密码

<?php
  ini_set('mysql.connect_timeout', 300);
  ini_set('default_socket_timeout', 300);

  define('DB_SERVER', 'localhost:9080');
  define('DB_USERNAME', 'root');
  define('DB_PASSWORD', '');
  define('DB_DATABASE', 'api');

   //$db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD);
   $db = mysqli_connect("localhost:9080","root","");

  // Check connection
  if (!$db) 
  {
    die("Connection failed: " . mysqli_connect_error());
  }

  $select_db = mysqli_select_db($connection, DB_DATABASE);
  if(!$select_db)
  {
    die("Database selection failed: " . mysqli_error($db));
  }

  echo "Connected successfully";
?>
并将max_allowed_数据包更新为16m

然后重新启动所有服务


错误屏幕截图:

您与数据库的连接将连接句柄/对象保存在名为$db的变量中,但您尝试选择要使用的数据库时,尝试使用名为$connection的变量,因此这实际上只是一个复制/粘贴错误

<?php

define('DB_SERVER', 'localhost:9080');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', '');
define('DB_DATABASE', 'api');

$db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD);

// Check connection
if (!$db) {
    die("Connection failed: " . mysqli_connect_error());
}

//$select_db = mysqli_select_db($connection, DB_DATABASE);
//               the error      ^^^^^^^^^^^
$select_db = mysqli_select_db($db, DB_DATABASE);
if(!$select_db) {
    die("Database selection failed: " . mysqli_error($db));
}

echo "Connected successfully";
?>
从下面的评论中

默认情况下,MySQL在端口3306上运行,MariaDB在WAMPServer的3307上运行

所以改变

define('DB_SERVER', 'localhost:9080');
要么

define('DB_SERVER', 'localhost:3306');  // default MYSQL

您现在还可以删除

ini_设置'mysql.connect_timeout',300

ini设置“默认套接字超时”,300

并将max_allowed_数据包恢复为其默认值


$connection在代码中未定义!!您的MySQL服务器是否在端口9080上侦听?如果是这样的话,为什么呢?再看看mysqli_连接的参数4,然后就可以松开mysqli_数据库了_select@Saty我同意,但错误在这一行$db=mysqli_connectlocalhost:9080,root@RiggsFolly是的,它正在侦听端口9080I完全同意,但错误在$db=mysqli\u connectDB\u SERVER,db\u用户名,db\u密码行中;我还附上了错误截图。请检查。我还将$connection更新为$db,但错误相同。我实际上无法读取图像,图像太小,但我知道WAMPServer。当您决定将MySQL从端口3306移动到9080时,您是如何做到的?您使用的是哪个版本的WAMPServer我已经更新了httpd.conf文件中的端口。我使用的是WAMP服务器5.7.14没有WAMPServer 5.7.14,有MySQL 5.7.14,但httpd.conf文件不会影响或控制MySQL服务器侦听的端口号。你的意思是说你已经将Apache正在侦听的端口从80更改为9080注意Apache和MySQL不是一回事,显然,它们不在同一个端口上侦听。
define('DB_SERVER', 'localhost:9080');
define('DB_SERVER', 'localhost:3306');  // default MYSQL
define('DB_SERVER', 'localhost:3307');  // default MariaDB