获取连接失败:php_network_getaddresses:getaddrinfo failed:名称或服务未知

Iva*_*vić 6 php mysql connect

使用POST方法插入一些数据,以分贝我server.This林是存储在我的我的connection.php文件http://www.url.com/public_html.

    <?php

$servername = "http://www.url.com";
$username = "db_username";
$password = "db_password";
$databaseName = "db_name";

$connect = new mysqli($servername,$username,$password,$databaseName);

if ($connect->connect_error) {
    die("Connection failed: " . $connect->connect_error);
} 
echo "Connected successfully";

?>
Run Code Online (Sandbox Code Playgroud)

这是insert.php文件,也存储在http://www.url.com/public_html中,用于在数据库中插入数据.

<?php

if($_SERVER["REQUEST_METHOD"]=="POST"){
    require'connection.php';
    createStudent();
}
function createStudent(){

    global $connect;

    $name = $_POST["name"];
    $lastname = $_POST["lastname"];
    $age = $_POST["age"];

    $query="INSERT INTO  `demo` (  `name` ,  `lastname` ,  `age` ) 
    VALUES ('$name','$lastname','$age')";
    mysqli_query($connect,$query)or die (mysqli_error($connect));
    mysqli_close($connect);
}
?>
Run Code Online (Sandbox Code Playgroud)

我使用邮递员,我的Android应用程序来测试这个,但我得到:连接失败:php_network_getaddresses:getaddrinfo失败:名称或服务未知错误.

我不是一个PHP开发人员,但我看不到我的PHP文件中的任何错误,所以任何帮助将受到欢迎.

提前致谢.

Iva*_*vić 12

感谢Prera​​k,

这就是答案,我的数据库在同一台机器上,因此我只需要编辑:

$servername = "localhost"
Run Code Online (Sandbox Code Playgroud)

现在一切正常。


Dar*_*rax 7

您指定的值$servername不是主机名,而是URL或资源名称.主机名就是这样www.url.com.

当然,正如您已经发现的那样,localhost如果客户端和服务器位于同一个框中,则是正确的主机名.