1

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.

Jay Blanchard
  • 34,243
  • 16
  • 77
  • 119
Jannuzzo
  • 169
  • 1
  • 4
  • 12

1 Answers1

4

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.

Ian Kenney
  • 6,376
  • 1
  • 25
  • 44
  • ok very well. Since the echo was not printing the new line I was sure that this couldn't be the problem. I was wrong! Thank you very much Ian! – Jannuzzo Feb 19 '14 at 09:50