警告:mysqli_connect():未知的MySQL服务器主机

时间:2013-05-31 13:53:44

标签: php mysql mysqli

我在连接到mysql服务器时遇到了一些麻烦。我可以使用linux终端连接,所以我知道我的主机,端口,用户和密码都有效。但是,我无法使用PHP连接。

PHP版本: 5.2.17

服务器版本: 5.5.27-log MySQL社区服务器(GPL)

以下是测试代码示例:

<?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);    

?>

发出以下警告:

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)

有关该怎么做的任何想法?提前谢谢!

4 个答案:

答案 0 :(得分:42)

端口号必须是单独的参数:

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

答案 1 :(得分:1)

host是你的mysql服务器的IP,或者是“localhost”

答案 2 :(得分:1)

  

关于该怎么做的任何想法?

不确定。关于任何php函数的每个问题的简单三步解决方案:

  1. 打开您最喜欢的浏览器
  2. 在地址栏中输入php.net/,然后输入问题函数名称:
    php.net/mysqli_connect
  3. 按Enter键
  4. 现在您可以阅读其说明并查看正确的参数列表。

答案 3 :(得分:0)

mysql函数中的host参数需要是“localhost”或“127.0.0.1”

您将参数设置为“host:port”,这是您的错误。它需要是服务器或具有完整IP地址的远程服务器中网络的完整别名。您可以在此处找到有关此错误的更多信息:http://compnetworking.about.com/od/workingwithipaddresses/g/127_0_0_1_def.htm

php.net中的mysql书:http://www.php.net/manual/en/function.mysql-connect.php