Jannuzzo
Jannuzzo

Reputation: 169

mysql_connect: php_network_getaddresses: getaddrinfo failed: No such host is known using file values

As wrote on the title I have this issue. I have the data that allows me to connect to my database stored in a file. After getting those infos I tried to establish a communication with the database but I receive the warning

Warning: mysql_connect(): php_network_getaddresses: getaddrinfo failed: No such host is known. in C:\wamp\www\jstool\connect.php on line 21

twice and the result of the connect is nothing even if the values are correct (a.k.a. if I tried the connect writing down the values it works). Here's the txt file:

localhost
root
pwd

Here's the code:

ini_set("auto_detect_line_endings", true);

$handle = fopen("config.txt", "r");
if ($handle) {
   $i=0;
   while (($line = fgets($handle)) !== false) {
        $ln[$i]= $line;
        $i++;
   }
}

define("SERVER", $ln[0]);
define("USER", $ln[1]);
define("PASSWORD", $ln[2]);
$db = mysql_connect(SERVER,USER,PASSWORD);

if (!$db) {
    [...]
}
else {
    [.. reach database ..]
}

if i simply write

$db = mysql_connect("localhost", "root", "pwd");

which as you can see are the values contained in the txt file, it works fine.

Upvotes: 1

Views: 30141

Answers (1)

Ian Kenney
Ian Kenney

Reputation: 6426

try using trim()

define("SERVER", trim($ln[0]));
define("USER", trim($ln[1]));
define("PASSWORD", trim($ln[2]));

from fgets() manual

Reading ends when length - 1 bytes have been read, or a newline (which is included in the return value)

so your read includes the newlines.

Upvotes: 4

Related Questions