无法连接到DB。不会停止加载

时间:2016-02-03 23:02:44

标签: php database mysqli xampp

我无法弄清楚为什么我没有连接到我的数据库。它似乎是找到主机但有身份验证问题。我正在使用xampp和它提供的数据库。我的连接代码如下

jsonStringify

如果您需要我的电脑信息,我会快速回复。

等待一段时间后,我收到这些错误消息。

警告:mysqli :: __ construct():MySQL服务器在第9行的C:\ xampp \ htdocs \ protech_connect.php消失了

警告:mysqli :: __ construct():读取问候数据包时出错。第9行的C:\ xampp \ htdocs \ protech_connect.php中的PID = 7764

警告:mysqli :: __ construct():( HY000 / 2006):MySQL服务器在第9行的C:\ xampp \ htdocs \ protech_connect.php消失了

致命错误:第9行的C:\ xampp \ htdocs \ protech_connect.php超出了30秒的最长执行时间

3 个答案:

答案 0 :(得分: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();

答案 1 :(得分:1)

mysqli_connect()函数不接受host参数中的端口。您需要在另一个参数中添加端口号,如下所示:

$conn = mysqli_connect($servername, $username, $password, $dbname, $serverport);

功能文档:mysqli::__construct()

答案 2 :(得分:0)

如果您遇到以下错误或问题,请按照上述解决方案进行操作。

错误: 警告:mysqli_connect():MySQL服务器已经消失了 警告:mysqli_connect():读取问候数据包时出错。 PID = 3528
警告:mysqli_connect():( HY000 / 2006):MySQL服务器已经消失

解决方案1: 使用127.0.0.1而不是localhost。不要在127.0.0.1之后使用任何端口号。

解决方案2: 检查位于的主机文件 的 C:\ Windows \ System32下\驱动程序\等 并删除文件中的任何localhost或127.0.0.1条目并保存。
您可以使用任何HostEditor程序编辑此文件。