Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.0k views
in Technique[技术] by (71.8m points)

php - 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:wampwwwjstoolconnect.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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...