我正在尝试连接到 MySQL 数据库,但是出现错误。
代码:
<?php
ini_set('mysql.connection_timeout',300);
ini_set('default_socket_timeout',300);
define('DB_SERVER', 'localhost:8080');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', '');
define('DB_DATABASE', 'sib');
$db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
?>
这给了我错误:
Warning: mysqli_connect(): MySQL server has gone away in C:\xampp\htdocs\SIB\connect.php on line 9
Warning: mysqli_connect(): Error while reading greeting packet. PID=10696 in C:\xampp\htdocs\SIB\connect.php on line 9
Warning: mysqli_connect(): (HY000/2006): MySQL server has gone away in C:\xampp\htdocs\SIB\connect.php on line 9
Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\SIB\connect.php on line 9
最佳答案
首先,您的端口必须指定为 mysqi_connect 的单独参数,而不是与主机一起指定。
- 第二件事是您没有连接到 MySQL,而是连接到 Apache 服务器。如果您没有更改 MySQL 端口,只需使用 define('DB_SERVER', 'localhost');
代替 define('DB_SERVER', 'localhost:8080');
<?php
ini_set('mysql.connection_timeout',300);
ini_set('default_socket_timeout',300);
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', '');
define('DB_DATABASE', 'sib');
$db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE,3306);
关于phpmyadmin 数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56438816/