[英]How to connect mssql in Codeigniter?
我正在尝试将 codeigniter 与 MSSQL 连接起来。 我通过添加扩展extension=php_sqlsrv_56_ts.dll
和extension=php_pdo_sqlsrv_56_ts.dll
对php.ini
文件进行了所有可能的更改。 但仍然面临如下 sqlsrv 错误,
错误:消息:sqlsrv_query() 期望参数 1 是资源,给定 null
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
--- 这是空的。 我不知道为什么它得到 null 值。
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 服务器。
You've stated you're using SQL 2017. However as per the Microsoft PHP Drivers for SQL Server Support Matrix , with PHP version 5.6 you can only run version 3.2 of the sqlsrv drivers, and version 3.2 of the drivers only supports SQL 2014 and以下。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.