php - mysqli::mysqli(): php_network_getaddresses: getaddrinfo 失败:名称或服务未知

标签 php mysql mysqli

<分区>

<?php

function getMysqlConnection($host, $user, $pass, $database) {
    global $mysqli;
    global $Mysqlerror;
    $mysqli = new mysqli('$host', '$user', '$pass', '$database');
    if (empty($mysqli->connect_errorno) == false) {
        $Mysqlerror = "true";
    } else {
        $Mysqlerror = "false";
    }
}

我创建了一个如上所述的函数,它实现了给定 MySQL 用户凭据的连接,我通过使用实现了这个函数

<?php
require 'myFunc.php';
getMysqlConnection("localhost", "wronguser", "wrongpass", " test");
echo $Mysqlerror;

虽然我使用了错误的密码和用户名,但 Mysqlerror 是错误的。我也用过 or die function 没有任何反应

Warning: mysqli::mysqli(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /opt/lampp/htdocs/mysite/myFunc.php on line 5

Warning: mysqli::mysqli(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Name or service not known in /opt/lampp/htdocs/mysite/myFunc.php on line 5

我像往常一样重新启动了 lampp

Starting XAMPP for Linux 1.8.0...
XAMPP: Starting Apache with SSL (and PHP5)...
XAMPP: Starting MySQL...
Warning: World-writable config file '/opt/lampp/etc/my.cnf' is ignored
XAMPP: Starting ProFTPD...
/opt/lampp/share/lampp/alladdons: line 23: /opt/lampp/share/addons/: is a directory
XAMPP for Linux started.

我的代码或服务器有问题吗?如何解决?

最佳答案

这行有问题。

$mysqli = new mysqli('$host','$user','$pass','$database');

改成

$mysqli = new mysqli($host,$user,$pass,$database);

在 PHP 中,单引号内的变量不会插入它们的值。

检查PHP的变量解析机制here

关于php - mysqli::mysqli(): php_network_getaddresses: getaddrinfo 失败:名称或服务未知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12381615/

相关文章:

php - 在同一个查询中多次从同一个表中选择

php - 如何在加载时打开此模式窗口 - PHP

MySQL计算百分比,我可以使用变量吗?

mysql - 我被 mysql 的更新困住了

php - 如何回显 MySQLi 准备好的语句?

php - 如何将 MySQLi 准备好的语句中的单行的单列存储在 PHP 变量中?

php - 用动态规划解决多项选择背包 (MCKP)?

php - 如何在 Laravel 中将时间作为输入?

php - SQL 语法错误 id 突然为零

php - 如何根据数据库结果将多个 PHP 复选框设置为选中状态?