mysqli_connect连接数据库出现php_network_getaddresses报错的原因是什么?
错误原因分析
你提供的PHP数据库连接代码如下:
$con = mysqli_connect("localhost ","root "," ","project");//connectivity
收到的错误提示:
php_network_getaddresses: getaddrinfo failed: No such host is known
触发该报错的直接原因是mysqli_connect方法的第一个参数(数据库主机地址)携带了多余的末尾空格:
- 代码中填写的主机值为
"localhost "(末尾带空格),PHP会将整个字符串作为主机名尝试解析,系统无法识别这个带空格的无效主机名,直接触发地址解析失败错误。 - 除此之外,代码中第二个参数(数据库用户名
"root ")的末尾空格、第三个参数(数据库密码" ")的多余空格虽然不会触发当前主机解析类错误,但修复主机问题后大概率会触发账号密码验证失败的报错,需要同步修正。
修复后的代码示例
// 移除所有参数中多余的空格,无数据库密码的场景密码参数传空字符串即可 $con = mysqli_connect("localhost","root","","project");//connectivity
内容的提问来源于stack exchange,提问作者shritej lakade
相关产品推荐
相关产品推荐

