使用PHP连接到远程MSSQL数据库

时间:2015-04-17 17:41:53

标签: php sql-server remote-access

我的本​​地环境是WAMP。对于几页我必须访问远程托管的MSSQL DB,运行查询并获取结果。

我收到了以下信息(屏蔽值):

  • 远程MSSQL机器的IP地址:11.22.33.44
  • 数据库名称:abcdefgh
  • 用户名:db_username
  • 密码:db_password

之前我从未连接过远程托管的数据库。从以下示例: http://php.net/manual/en/function.mssql-connect.php

我在测试文件中尝试了这个,mssql-connect.php:

<?php
// Server in the this format: <computer>\<instance name> or 
// <server>,<port> when using a non default port number
$server = '11.22.33.44\abcdefgh';

// Connect to MSSQL
$link = mssql_connect($server, 'db_username', 'db_password');

if (!$link) {
    die('Something went wrong while connecting to MSSQL');
}
?>

我不知道能不能连接。我尝试了连接字符串的所有变体:

$server = '11.22.33.44/abcdefgh';

$server = 'http://11.22.33.44\abcdefgh';

$server = 'https://11.22.33.44\abcdefgh';

$server = '11.22.33.44';

$server = '11.22.33.44:1431';

$server = '11.22.33.44,1431';

这些中的每一个(以及这些中的变体)都会返回&#39;连接到MSSQL时出现问题&#39;。

我通过php.ini启用了mssql,可以看到它的phpinfo。是否需要传递任何其他字符串?

5 个答案:

答案 0 :(得分:0)

首先,不要在此提供对数据库的完全访问权限(除非您的用户和密码只是占位符)。 其次,您必须确保运行SQL的主机已启用远程访问。如果您的MSSQL服务器未启用远程访问,则无论您如何尝试连接,都将始终失败。

答案 1 :(得分:0)

       $server = '11.22.33.44';
      // Connect to MSSQL
      $link = mssql_connect($server, 'db_username', 'db_password');

上面的代码应该只工作就是mssql不允许远程配置,所以它阻止访问你的ip。你必须启用mssql才能远程访问

答案 2 :(得分:0)

在玩了一些游戏之后我遇到了同样的问题我终于使用sqlsrv_query()来连接它了

不确定是否因为PHP版本更新等原因。

对此做一些研究,它对我有用。

答案 3 :(得分:0)

您可以成功连接该代码。

$username ="WRITEUSER";
$password = "WRITEPASS";
$database = "WRITEDB";
$server = "WRITESERVERIP";

$connection = mssql_connect($server, $username, $password);
if (!$connection) {  die('Not connected : ' . mssql_get_last_message());} 


$db_selected = mssql_select_db($databaseb, $connection);
if (!$db_selected) {
  die ('Can\'t use db : ' . mssql_get_last_message());
} else{

    // Success
}

问候。

答案 4 :(得分:0)

要远程连接数据库,您必须在phpmyadmin中创建用户帐户并允许该用户帐户的权限。远程连接数据库时,请使用您在创建用户帐户时指定的用户名和密码信息。