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

wvyml7n5  于 2022-12-28  发布在  PHP
关注(0)|答案(5)|浏览(144)

我的本地环境是WAMP。对于几个页面,我必须访问远程托管的MSSQL数据库,运行查询并获取结果。
已向我提供以下信息(数值屏蔽):

  • 远程MSSQL计算机的IP地址:11.22.33.44
  • 数据库名称:abc德夫
  • 用户名:db_用户名
  • 密码:数据库密码

我以前从未连接过远程托管的数据库。来自以下示例: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';

其中的每一个(以及它们的变体)都返回“连接到MSSQL时出错”。
我已经通过php.ini启用了mssql,可以看到phpinfo。是否有任何额外的字符串需要传递?

mkshixfv

mkshixfv1#

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

hgncfbus

hgncfbus2#

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

上面的代码应该工作唯一的事情是这mssql是不允许的到配置远程所以它的阻塞访问到你的ip.你必须使mssql到得到远程访问

vwhgwdsa

vwhgwdsa3#

我也遇到了同样的问题,经过一些尝试,我终于让它使用sqlsrv_query()连接
不确定是因为PHP版本更新还是什么。
做些调查,它对我很有效。

3okqufwl

3okqufwl4#

您可以成功地连接到该代码。

$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
}

问候。

mzmfm0qo

mzmfm0qo5#

要远程连接你的数据库你必须在你的phpmyadmin中创建用户帐号并且允许该用户帐号的特权.当远程连接到数据库时使用你在创建用户帐号时指定的用户名和密码信息.

相关问题