Mysqli:未知的服务器主机

时间:2011-06-26 15:42:04

标签: php mysql windows-server-2008 phpmyadmin mysqli

似乎这是一个非常常见的错误,但我无法解决这个问题。我正在运行PHP 5.3.1 外部MySQL服务器5.5.8 - 与Phpmyadmin一起安装并运行Windows Server 2k8R2。

当我尝试以下操作时:

   $connection = new mysqli("myhost.com:3306", "myUser", "myPwd", "myDB");
   $result = $connection->prepare("SELECT * FROM tt_staff
                           WHERE crew_type = ?
                           AND inaktiv_vakt = 0
                           ORDER BY ansvarlig_vakt DESC, crew_type, navn_vakt");
   $result->bind_param("s", $value);
   $result->execute();
   $result->bind_result($value, $name);

我得到了“ 警告:mysqli :: mysqli()[mysqli.mysqli] :( HY000 / 2005):未知的MySQL服务器主机(...)“

我确保在DB服务器上的php.ini中启用了Mysqli,但这也是我所做的全部,因为我被告知这应该是开箱即用的。由于这是我第一次使用预处理语句,因此在某些地方可能会出现一个简单的拼写错误。

3 个答案:

答案 0 :(得分:16)

问题是MySQLi不接受端口作为主机名的一部分,而是作为单独的参数。所以我认为你应该如何打开你的联系:

$connection = new mysqli("myhost.com", "myUser", "myPwd", "myDB", "3306");

或许,根本不要给端口,因为3306是默认端口。

答案 1 :(得分:1)

在数据库中检查用户的权限('myUser')。确保权限允许连接通过'%'(或仅仅是您的IP),而不仅仅是'localhost'(127.0.0.1)。然后确保“重新加载特权”。

  

Blockquote注意:phpMyAdmin直接从MySQL的权限表中获取用户权限。如果已手动更改这些表的内容,则可能与服务器使用的权限不同。在这种情况下,您应该在继续之前重新加载权限。

答案 2 :(得分:0)

mysqli找不到数据库服务器,需要检查域名和端口号是否正确

相关问题