我无法弄清楚为什么我没有连接到我的数据库。它似乎是找到主机但有身份验证问题。我正在使用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秒的最长执行时间
答案 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);
答案 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程序编辑此文件。