php - mysqli_connect() : (HY000/2006): MySQL server has gone away

标签 php mysql

我收到此错误:

Warning: mysqli_connect(): MySQL server has gone away in C:\Apache24\htdocs\soccer.php on line 5

Warning: mysqli_connect(): Error while reading greeting packet. PID=19176 in C:\Apache24\htdocs\soccer.php on line 5

Warning: mysqli_connect(): (HY000/2006): MySQL server has gone away in C:\Apache24\htdocs\soccer.php on line 5

Fatal error: Maximum execution time of 30 seconds exceeded in C:\Apache24\htdocs\soccer.php on line 5

当尝试在本地主机上运行 php 文件时。 php7.2 MySQL 8 我已经尝试了很多建议的解决方案几个小时但没有成功。 这是 PHP 代码,我只是将其用于其他目的,并且不理解全部内容,只是因为我想将数据库连接到可能的应用程序

    <?php 
$con = mysqli_connect("localhost:81","root","root","testdb") or die ("could not connect to mysql");;

if(mysqli_connect_error($con))
{

    echo "Failed to connect";

}

$query = mysqli_query($con,"SELECT * FROM testtb");

if($query){
    while($row=mysqli_fetch_assoc($query))
    {
        $flag[] = $row;
    }
    print(json_encode($flag));

    mysql_free_result($query);
}

 mysqli_close($con);
?>

最佳答案

Mysql Server 默认使用 3306 端口。您正在尝试连接 Mysql 81 端口,但 Mysql 拒绝连接该端口。所以改变一下

$con = mysqli_connect("localhost:81","root","root","testdb") or die ("could not connect to mysql");;

$con = mysqli_connect("localhost:3306","root","root","testdb") or die ("could not connect to mysql");;

By the way yo don't need to write port. 3306 is default.

$con = mysqli_connect("localhost","root","root","testdb") or die ("could not connect to mysql");;

关于php - mysqli_connect() : (HY000/2006): MySQL server has gone away,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54318878/

相关文章:

php - 以周格式显示记录

php - PDO 中 fetchColumn() 的非对象错误

mysql查询订单已支付的列表

c# - MySql数据库中如何调用多个存储过程

mysql - 将链接到第一个请求的其他请求的每一行的结果聚合到一列中

php - 从两个不同的来源加入同一张 table

php - 将奇数行的 CSV 导入 MySQL

php - Laravel 请求转换

python - 使用Python访问带有可变列名的SQL

javascript - 如何将选择的值回显到文本框