无法连接到数据库。不会停止加载
Posted
技术标签:
【中文标题】无法连接到数据库。不会停止加载【英文标题】:Cant connect to DB. Won't Stop Loading 【发布时间】:2016-05-13 09:11:40 【问题描述】:我无法弄清楚为什么我没有连接到我的数据库。似乎它正在寻找主机但遇到身份验证问题或其他问题。我正在使用 xampp 和它提供的数据库。我的连接代码如下
<?php
$servername = 'localhost:1234';
$username = 'protech';
$password = '';
$dbname = 'protech';
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn)
die("Connection failed: " . mysqli_connect_error());
else
echo "Connected successfully";
mysqli_close($conn);
exit;
?>
如果您需要任何信息,我会在我的电脑旁快速回复。
我在等待一段时间后收到这些错误消息。
警告:mysqli::__construct(): MySQL server has gone away in C:\xampp\htdocs\protech_connect.php on line 9
警告:mysqli::__construct(): 读取问候包时出错。第 9 行 C:\xampp\htdocs\protech_connect.php 中的 PID=7764
警告:mysqli::__construct(): (HY000/2006): MySQL server has gone away in C:\xampp\htdocs\protech_connect.php on line 9
致命错误:C:\xampp\htdocs\protech_connect.php 第 9 行中的最大执行时间超过 30 秒
【问题讨论】:
您是否在非标准端口上运行?如果是这样,从主机中删除端口并作为第五个参数附加到 mysqli_connect。最好使用面向对象的方法 请提供您看到的错误信息 @RamRaider 我尝试了提供的代码但仍然无法正常工作。 Stephen Reindl 它只是不断加载它不会给出错误 这是在您的本地开发机器上还是在实时主机上?密码真的是空的吗?检查您的 php 错误日志以查看发生了什么。另外,mysql服务器是否设置为监听1234端口? 在 1 分钟内检查我的帖子编辑 【参考方案1】:mySQL 的标准端口是 3306 - 因此,如果您真正使用 1234,请将其作为新参数附加到 db 连接构造函数。
$dbhost = 'localhost';
$dbuser = 'protech';
$dbpwd = 'xxx';
$dbname = 'protech';
$dbport = 1234;
$conn = new mysqli( $dbhost, $dbuser, $dbpwd, $dbname, $dbport );
if( $conn->connect_error ) exit( 'Bad foo: '.$conn->connect_error );
else /* do exciting things */
$conn->close();
【讨论】:
【参考方案2】:mysqli_connect()
函数不接受主机参数中的端口。您需要在另一个参数中添加端口号,如下所示:
$conn = mysqli_connect($servername, $username, $password, $dbname, $serverport);
函数文档:mysqli::__construct()
【讨论】:
我做到了,它仍然只是加载【参考方案3】:如果您遇到以下错误或问题,请按照上述解决方案。
错误: 警告:mysqli_connect():MySQL 服务器已消失 警告:mysqli_connect():读取问候包时出错。 PID=3528 警告:mysqli_connect(): (HY000/2006): MySQL server has away
解决方案 1: 使用 127.0.0.1 而不是 localhost。不要使用 127.0.0.1 之后的任何端口号。
解决方案 2: 检查您的主机文件位于 C:\Windows\System32\drivers\etc 并删除文件中的任何 localhost 或 127.0.0.1 条目并保存。您可以使用任何 HostEditor 程序来编辑此文件。
【讨论】:
以上是关于无法连接到数据库。不会停止加载的主要内容,如果未能解决你的问题,请参考以下文章
Websphere Application Server异常ADMC0016E:系统无法创建SOAP连接器以连接到主机端口