Warning: mysqli_connect(): Unknown MySQL server ho

2020-02-11 02:45发布

问题:

I have some trouble connecting to a mysql server. I can connect using the linux terminal, so I know that my host, port, user, and password works. I cannot, however, connect using PHP.

PHP Version: 5.2.17

Server version: 5.5.27-log MySQL Community Server (GPL)

Here is a test code example:

<?php

$link = mysqli_connect('host.com:5306', 'user', 'pass', 'db');

/* check connection */

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!mysqli_query($link, "SET a=1")) {
    printf("Errormessage: %s\n", mysqli_error($link));
}

/* close connection */
mysqli_close($link);    

?>

Gives the following warning:

Warning: mysqli_connect() [function.mysqli-connect]: (HY000/2005): Unknown MySQL server host 'host.com:5306' (1) in /.../test.php on line 3

Connect failed: Unknown MySQL server host 'host.com:5306' (1)

Any ideas on what to do?

回答1:

The port number must be a separate argument:

$link = mysqli_connect('host', 'user', 'pass', 'db', 5306);


回答2:

Any ideas on what to do?

Sure. A simple three-step solution for any php function's problem:

  1. Open your favorite browser
  2. type php.net/ in the address bar followed by a problem function's name:
    `php.net/mysqli_connect` in your case
  3. Hit Enter

Now you have the function's description and can check the proper parameters list.



回答3:

host is the IP of your mysql server, or maybe "localhost"



回答4:

The host parameter in the mysql function need to be "localhost" or "127.0.0.1"

You set the parameter as "host:port" and that is your mistake. It's need to be the full alias of the network in the server or the remote server with the full IP address. You can found more information about this error here: http://compnetworking.about.com/od/workingwithipaddresses/g/127_0_0_1_def.htm

The mysql book in php.net: http://www.php.net/manual/en/function.mysql-connect.php



标签: php mysql mysqli