我正在尝试将Codeigniter与MSSQL连接。php.ini
通过添加扩展名extension=php_sqlsrv_56_ts.dll
和,我对文件进行了所有可能的更改extension=php_pdo_sqlsrv_56_ts.dll
。但是仍然面临如下的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
---这是空的。我不知道为什么它得到空值。
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 Server的较新版本。
您已声明正在使用SQL2017。但是,根据用于SQL Server支持列表的Microsoft PHP驱动程序,对于PHP 5.6版,您只能运行3.2版的sqlsrv驱动程序,而3.2版的驱动程序仅支持SQL 2014和下面。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句