我的本地环境是WAMP。对于几页我必须访问远程托管的MSSQL 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';
这些中的每一个(以及这些中的变体)都会返回&#39;连接到MSSQL时出现问题&#39;。
我通过php.ini启用了mssql,可以看到它的phpinfo。是否需要传递任何其他字符串?
答案 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中创建用户帐户并允许该用户帐户的权限。远程连接数据库时,请使用您在创建用户帐户时指定的用户名和密码信息。