Warning: mysqli_connect(): Unknown MySQL server ho

2020-02-11 02:50发布

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?

标签: php mysql mysqli
4条回答
时光不老,我们不散
2楼-- · 2020-02-11 02:53

The port number must be a separate argument:

$link = mysqli_connect('host', 'user', 'pass', 'db', 5306);
查看更多
3楼-- · 2020-02-11 03:10

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.

查看更多
放荡不羁爱自由
4楼-- · 2020-02-11 03:10

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

查看更多
叛逆
5楼-- · 2020-02-11 03:12

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

查看更多
登录 后发表回答