如何在 Codeigniter 中连接 mssql?

How to connect mssql in Codeigniter?

我正在尝试将 codeigniter 与 MSSQL 连接起来。我已经通过添加扩展名 extension=php_sqlsrv_56_ts.dllextension=php_pdo_sqlsrv_56_ts.dllphp.ini 文件进行了所有可能的更改。但仍然面临如下 sqlsrv 错误,

Error: Message: sqlsrv_query() expects parameter 1 to be resource, null given

sqlsrv_driver.php

function _execute($sql)
{
    $sql = $this->_prep_query($sql);
    return sqlsrv_query($this->conn_id, $sql, null, array(
        'Scrollable'                => SQLSRV_CURSOR_STATIC,
        'SendStreamParamsAtExec'    => true
    ));
}

$this->conn_id --- 这是空的。我不知道为什么它得到空值。

Codeigniter 版本:2.2 /
PHP 版本:5.6

数据库配置:

$db['default']['hostname'] = '.\sqlexpress';
$db['default']['username'] = 'UNAME';
$db['default']['password'] = '';
$db['default']['database'] = 'DBNAME'; 
$db['default']['dbdriver'] = 'sqlsrv';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = FALSE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

注意:过去 3 天我一直被困在这个问题上,我已经尝试过了。由于我是 MSSQL 的新手,所以我无法找出问题所在。在这方面的任何帮助将不胜感激。提前致谢。

您运行正在使用不受支持的 PHP 版本。您需要升级 PHP 版本才能继续接收安全更新。参见 https://php.net/supported-versions.php

这样做还可以让您访问更新版本的 sqlsrv 驱动程序。这很重要,因为您当前的驱动程序无法连接到更新版本的 SQL 服务器。

您已声明您使用的是 SQL 2017。但是根据 Microsoft PHP Drivers for SQL Server Support Matrix,对于 PHP 5.6 版,您只能 运行 3.2 版sqlsrv驱动,驱动3.2版本只支持SQL2014及以下