Предупреждение: mysqli_connect (): (HY000 / 2002): php_network_getaddresses: сбой getaddrinfo: такой хост не известен

0

У меня есть код im, пытающийся загрузить данные, считываемые с двух датчиков, в arduino на сервер WAMP, но при запуске localhost\project я получаю, что файл Warning.THE php находится в каталоге проектов. Connect.php используется, когда доступ к базе данных. Код Connect.php - это тот, который используется, главным образом, для соединения здесь, а процесс add.php POST из arduino.index.php отображает значения датчиков в таблице:

Ниже приведен Connect.php

****<?php
    function Connection(){
        $server="server";
        $user="user";
        $pass="pass";
        $db="database";

        $connection = mysqli_connect($server, $user, $pass);
        //$db = new PDO('mysql:host=localhost;dbname=testdb;charset=utf8', 'user', 'pass');
        if (!$connection) {
            die('MySQL ERROR: ' . mysql_error());
        }

        mysql_select_db($db) or die( 'MySQL ERROR: '. mysql_error() );
        return $connection;
    }
?>****

Ниже приведена add.php:

**<?php
    include("connect.php");

    $link=Connection();
    $temp1=$_POST["temp1"];
    $hum1=$_POST["hum1"];
    $query = "INSERT INTO 'tempLog' ('temperature', 'humidity') 
        VALUES ('".$temp1."','".$hum1."')"; 

    mysql_query($query,$link);
    mysql_close($link);
    header("Location: index.php");
?>**

lastly index.php:

**<?php
    include("connect.php");     

    $link=Connection();
    $result=mysql_query("SELECT * FROM 'tempLog' ORDER BY 'timeStamp' DESC",$link);
?>
<html>
   <head>
      <title>Sensor Data</title>
   </head>
<body>
   <h1>Temperature / moisture sensor readings</h1>
   <table border="1" cellspacing="1" cellpadding="1">
        <tr>
            <td>&nbsp;Timestamp&nbsp;</td>
            <td>&nbsp;Temperature 1&nbsp;</td>
            <td>&nbsp;Moisture 1&nbsp;</td>
        </tr>
      <?php 
          if($result!==FALSE){
             while($row = mysql_fetch_array($result)) {
                printf("<tr><td> &nbsp;%s </td><td> &nbsp;%s&nbsp; </td><td> &nbsp;%s&nbsp; </td></tr>", 
                   $row["timeStamp"], $row["temperature"], $row["humidity"]);
             }
             mysql_free_result($result);
             mysql_close();
          }
      ?>
   </table>
</body>
</html>**
  • 0
    Может ли адрес в $server фактически быть разрешен сервером? Возможно, попробуйте вместо этого использовать IP-адрес, если у вас возникла проблема с именем хоста, но убедитесь, что имя хоста является действительным. Если имя хоста верное, убедитесь, что настройки DNS на сервере верны.
  • 0
    Действительное имя хоста сервера базы данных?
Теги:

2 ответа

0

Попробуйте либо использовать mysqli_select_db с правильными параметрами, как это

$connection = mysqli_connect($server, $user, $pass);
if (!$connection) {
    die('MySQL ERROR: ' . mysql_error());
}

mysql_select_db($connection,$db) or die( 'MySQL ERROR: '. mysql_error() );
return $connection;

Или используйте mysqli_connect() чтобы также выбрать базу данных, добавив ее как 4-й параметр, затем вы можете полностью забыть mysql_select_db().

$connection = mysqli_connect($server, $user, $pass, $db);
if (!$connection) {
    die('MySQL ERROR: ' . mysql_error());
}
0

Вы mising mysqli_ и mysql_ (это не то же самое..)

Соединение возвращает соединение mysqli_:

$connect = mysqli_connect($server, $user, $pass);

Но вы пытаетесь использовать его для выбора db и запроса через mysql_:

mysql_select_db($db) or die( 'MySQL ERROR: '. mysql_error() );

Кроме того, использование mysqli_ соединения в качестве ссылки на mysql_ запрос не имеет смысла:

$link=Connection();
$result=mysql_query("SELECT * FROM 'tempLog' ORDER BY 'timeStamp' DESC",$link);

Пожалуйста, просто взгляните на документы mysqli и mysql_ код mysql_. - Или даже лучше, используйте PDO !

Ещё вопросы

Сообщество Overcoder
Наверх
Меню