web-dev-qa-db-fra.com

Connexion a échoué: php_network_getaddresses: getaddrinfo a échoué: nom ou service inconnu

J'utilise la méthode POST pour insérer des données à la base de données sur mon serveur. C'est mon fichier connection.php qui est stocké dans mon 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";

?>

C'est un fichier insert.php également stocké dans http://www.url.com/public_html que j'utilise pour insérer des données dans une base de données.

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

J'utilise postman, et mon application Android pour tester cela, mais je reçois: La connexion a échoué: php_network_getaddresses: getaddrinfo a échoué: le nom ou le service n'est pas connu d'erreur.

Je ne suis pas un développeur php mais je ne vois aucune erreur dans mes fichiers php, donc toute aide sera la bienvenue.

Merci d'avance.

4
Ivan Bošnjaković

Merci Prerak,

C'est la réponse, ma base de données est sur le même ordinateur, il me fallait donc éditer

$servername = "localhost"

Maintenant tout fonctionne bien.

4
Ivan Bošnjaković

La valeur que vous avez spécifiée pour $servername n'est pas un nom d'hôte, mais plutôt une URL ou un nom de ressource. Le nom d'hôte serait simplement www.url.com.

Bien entendu, comme vous l'avez déjà découvert, localhost est le nom d'hôte correct si le client et le serveur résident sur la même boîte.

7
Darwin von Corax

Apporter des modifications dans le fichier ci-dessous config-db.php 

nano  /etc/phpmyadmin/config-db.php 

changer le serveur de base de données en localhost

$dbserver='localhost';

Cela fonctionne pour moi.

0
pavan