我正在尝试将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);
?>
但是连接失败。 问题是我该怎么做才能获得成功的连接?
答案 0 :(得分:0)
基于来自php.net的信息:
mssql_connect
警告
此功能在PHP 7.0.0中已删除。
相反,您应该使用sqlsrv_connect:
要能够连接到MS SQL Server,该服务器必须接受远程连接。参见:Configure the remote access Server Configuration Option
使用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
祝你好运!