12

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

PHP版本: 5.2.17

服务器版本: 5.5.27-log MySQL Community Server (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);    

?>

给出以下警告:

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

连接失败:未知的 MySQL 服务器主机 'host.com:5306' (1)

关于做什么的任何想法?

4

4 回答 4

52

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

$link = mysqli_connect('host', 'user', 'pass', 'db', 5306);
于 2013-05-31T13:59:55.813 回答
4

关于做什么的任何想法?

当然。任何 php 函数问题的简单三步解决方案:

  1. 打开你喜欢的浏览器
  2. php.net/在地址栏中输入问题函数的名称:在
    您的情况下为`php.net/mysqli_connect`
  3. 按回车

现在您有了函数的描述并且可以检查正确的参数列表。

于 2013-05-31T14:00:24.570 回答
0

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

您将参数设置为“主机:端口”,这是您的错误。它需要是服务器中网络的完整别名或具有完整 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

于 2013-05-31T13:57:01.373 回答
0

host 是您的 mysql 服务器的 IP,或者可能是“localhost”

于 2013-05-31T13:57:46.907 回答