Php 警告:mysqli_connect():MySQL服务器已离开

Php 警告:mysqli_connect():MySQL服务器已离开,php,mysql,mysqli,database-connection,Php,Mysql,Mysqli,Database Connection,我编写了一个简单的php代码来连接mysql服务器,如下所示 <?php $username = "root"; $password = "Kepwd"; $hostname = "localhost:81"; //connection to the database $dbhandle = mysqli_connect($hostname, $username, $password) or die("Unable to connect to MySQL"); echo "

我编写了一个简单的php代码来连接mysql服务器,如下所示

    <?php

$username = "root";
$password = "Kepwd";
$hostname = "localhost:81";

//connection to the database
$dbhandle = mysqli_connect($hostname, $username, $password)
  or die("Unable to connect to MySQL");
echo "Connected to MySQL<br>";

 ?>
错误在这里:

$hostname = "localhost:81";
您没有连接到MySQL,而是连接到Apache服务器。如果您没有更改MySQL端口,只需使用

$hostname = "localhost";

输入数据库名称后忘记指定数据库名称,请重试。语法应该是这样的

<?php
$con = mysqli_connect("localhost","my_user","my_password","my_db");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
?>


您的主题行显示为“警告:mysql\u connect():mysql服务器已离开”,其中包含一个
mysql\u
函数,而您所问的其他函数是
mysqli\u
函数。这是您实际遇到的错误吗?请在不使用端口的情况下尝试此操作
$hostname=“localhost”-您还可能有另一个应用程序使用同一端口。如果是这样,您需要找出它是什么,或者尝试端口3306您混淆了IIS web服务器和mysql服务器。要通过外部IIS端口连接到mysql服务器,您需要什么来连接到本地主机?您的MySQL端口在默认3306上运行,当您删除
localhost:81
时,它可以解决地址问题。这是一个非常老的问题,但我刚刚遇到了这个问题,它不是因为上面提到的任何事情。我使用MySQL Workbench创建了一个用户,并选择SHA-256作为密码,而不是标准密码……这导致在尝试连接到DB时抛出此错误。也许有人会觉得这条评论很有用,因为我花了4个小时才弄明白。¯_(ツ)_/“@AndrewQuebe谢谢!我用头撞了好几个小时才找到你的评论。我不得不回去重新配置MySQL 8社区版,甚至允许使用“标准版”密码,但这样做起了作用。是的,我们已经在评论中证明了这一点。Ohgodwhy的评论对我来说很有意义。@Fred ii-是的。而且端口必须指定为mysqi_connect的单独参数,而不是主机。是的,这也是。
$mysqli=new mysqli(“127.0.0.1”,“用户”,“密码”,“数据库”,3306);
根据;-)错。数据库名称是可选的。
<?php
$con = mysqli_connect("localhost","my_user","my_password","my_db");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
?>