Getting connection failed: php_network_getaddresses: getaddrinfo failed: Name or service not known

I'm using POST method to insert some data to db on my server.This is my connection.php file that is stored in my .

 <?php
$servername = "";
$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";
?>

This is insert.php file also stored in that I use to insert data in database.

<?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);
}
?>

I use postman, and my Android app to test this but I'm getting: Connection failed: php_network_getaddresses: getaddrinfo failed: Name or service not known error.

2

5 Answers

My database is on the same machine so I just needed to edit:

$servername = "localhost"

Now everything is working just fine.

The value you've specified for $servername is not a host name but rather a URL, or resource name. The host name would be just .

Of course, as you've already discovered, localhost is the correct host name if the client and server reside on the same box.

For people coming from Google:If you work with Docker, you might use the name of the database docker container here, like

$dbserver='mydockerbox-mysql';

if your docker-compose.yml looks like this:

services: mydockerbox-mysql: image: mysql:5.7.26 container_name: mydockerbox-mysql
1

Make changes in bellow file config-db.php

nano /etc/phpmyadmin/config-db.php 

change db server as localhost

$dbserver='localhost';

Its works for me.

0

And to save time for anybody who made the same mistake as me - this is the error one gets if one creates a file of credentials on Windows and copies it to Linux. It is easier to create the file in Linux.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

You Might Also Like