0

我正在尝试配置我的 QNAP TS-231P Web 服务器以连接到安装在 Windows 服务器 (MSSQL Express 2014) 上的 MS SQL 数据库。

在 QNAP 控制面板 -> 服务器 Web 中,我在 php.ini 文件中添加了这一行

extension = mssql.so

现在运行 phpinfo() 我看到了 mssql 部分(库版本是 FreeTDS)。

我基于 CodeIgniter 3.1.9 构建的 Web 应用程序无法连接到 MSSQL(它适用于安装在 Windows 上的 XAMPP 版本 3.2.2),我还尝试了这个简单的 php 代码:

<?php
$connection = mssql_connect('10.10.10.100\SQLEXPRESS', 'sa', 'mypassword');
if (!$connection) {
  die('Unable to connect!');
}
if (!mssql_select_db('MY_DATABASE', $connection)) {
  die('Unable to select database!');
}
$result = mssql_query('SELECT * FROM MY_TABLE');
while ($row = mssql_fetch_array($result)) {
  var_dump($row);
}
mssql_free_result($result);
?>

但连接失败。问题是我该怎么做才能获得成功的连接?

4

1 回答 1

0

根据来自php.net的信息:

mssql_connect

警告

这个函数在 PHP 7.0.0 中被移除。

而不是它,您应该使用sqlsrv_connect

为了能够连接到 MS SQL Server,该服务器必须接受远程连接。请参阅:配置远程访问服务器配置选项

当您使用 IP 时,您必须提供 MS SQL Server 正在侦听远程连接的端口号。

<?php
$serverName = "serverName\\sqlexpress, 1542"; //serverName\instanceName, portNumber (default is 1433)
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
     echo "Connection established.<br />";
}else{
     echo "Connection could not be established.<br />";
     die( print_r( sqlsrv_errors(), true));
}
?>

有关此线程中与 MS SQL Server 连接的更多信息:How to use PHP to connect to sql server

祝你好运!

于 2019-01-17T11:04:13.223 回答