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.
25 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.
0And 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.