web-dev-qa-db-ja.com

接続の取得に失敗しました:php_network_getaddresses:getaddrinfo failed:名前またはサービスが不明です

POSTメソッドを使用して、サーバー上のデータベースにデータを挿入します。これは、私の http://www.url.com/public_htmlに保存されているconnection.phpファイルです。

    <?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";

?>

これは、データベースにデータを挿入するために使用する http://www.url.com/public_html にも保存されているinsert.phpファイルです。

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

私は郵便配達員を使用し、私のAndroidアプリはこれをテストしますが、imは取得します:接続に失敗しました:php_network_getaddresses:getaddrinfoに失敗しました:名前またはサービスが不明です。

私はphp開発者ではありませんが、phpファイルにエラーが表示されないため、ヘルプを歓迎します。

前もって感謝します。

6

おかげでPrera​​k、

これは答えです、私のデータベースは同じマシン上にあるので、編集する必要がありました:

$servername = "localhost"

今、すべてがうまく機能しています。

12

$servernameに指定した値は、ホスト名ではなく、URLまたはリソース名です。ホスト名はwww.url.comになります。

もちろん、既に発見したように、クライアントとサーバーが同じボックスにある場合、localhostは正しいホスト名です。

7

以下のファイルを変更しますconfig-db.php

nano  /etc/phpmyadmin/config-db.php 

ローカルホストとしてdbサーバーを変更

$dbserver='localhost';

その作品。

0
pavan