【问题标题】:Connecting to MSSQL with Codeigniter PHP使用 Codeigniter PHP 连接到 MSSQL
【发布时间】:2016-08-26 01:21:52
【问题描述】:

所以我得到了项目。它已经完成并且应该可以工作,现在我正在尝试运行它。 它使用 PHP 5.6 和 Codeigniter,数据库是 MSSQL11.SQLEXPRESS。我正在 XAMPP 上运行项目 这是我的数据库配置:

$db['default']['hostname'] = '127.0.0.1';
$db['default']['port'] = '1433';
$db['default']['username'] = 'user';
$db['default']['password'] = 'password1234';
$db['default']['database'] = 'DataBase004';
$db['default']['dbdriver'] = strncasecmp(PHP_OS, 'WIN', 3) == 0 ? 'sqlsrv' : 'mssql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = FALSE;
$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;

它看起来是正确的,但在日志中我总是收到如下错误:

ERROR - 2016-08-26 00:55:22 --> Unable to connect to the database
ERROR - 2016-08-26 00:55:22 --> Unable to connect to the database
ERROR - 2016-08-26 00:55:22 --> Severity: Warning  --> sqlsrv_query() expects parameter 1 to be resource, boolean given C:\xampp\htdocs\prompt-web\src\resources\system\database\drivers\sqlsrv\sqlsrv_driver.php 152
ERROR - 2016-08-26 00:55:22 --> Severity: Warning  --> sqlsrv_query() expects parameter 1 to be resource, boolean given C:\xampp\htdocs\prompt-web\src\resources\system\database\drivers\sqlsrv\sqlsrv_driver.php 152
ERROR - 2016-08-26 00:55:22 --> Unable to connect to the database
ERROR - 2016-08-26 00:55:22 --> Severity: Warning  --> sqlsrv_query() expects parameter 1 to be resource, boolean given C:\xampp\htdocs\prompt-web\src\resources\system\database\drivers\sqlsrv\sqlsrv_driver.php 152
ERROR - 2016-08-26 00:55:22 --> Severity: Warning  --> sqlsrv_query() expects parameter 1 to be resource, boolean given C:\xampp\htdocs\prompt-web\src\resources\system\database\drivers\sqlsrv\sqlsrv_driver.php 152

这是来自服务器的页面: 在 php/ext 中,我得到了驱动程序: php_pdo_sqlsrv_56_ts.dllphp_sqlsrv_56_ts.dll 我将它添加到 php.ini 中:

extension=php_sqlsrv_56_ts.dll
extension=php_pdo_sqlsrv_56_ts.dll

我应该做点别的吗? 我尝试了许多不同的方法来解决它。

【问题讨论】:

  • 等一下,我这样做了,一会儿再回答。等一下,这是什么版本的codeigniter?

标签: php sql-server codeigniter


【解决方案1】:

主机名错误。打开你的 mssql 并查看登录信息。服务器名称应该是主机名。有时它被命名为。

YOURPC\SQLEXPRESS

将它放在主机名中,它应该可以工作。还有,你重启xampp了吗?

祝你好运

编辑

蓝色圆圈内的应该是您的主机名。

【讨论】:

  • 好的,我将主机名更改为MyPC\SQLEXPRESS,然后我重新启动了XAMPP,但仍然是同样的错误。也许还有其他我应该做的事情?
  • 真的是 MyPC\SQLEXPRESS 吗?我会更新我的答案,从那里你可能会看到你缺少什么。
  • 是的,我 100% 确定,但还是一样
  • 您使用的是什么版本的 codeigniter?您是否将数据库驱动程序更改为我写的内容?你在codeigniter的自动加载中自动加载了数据库驱动吗?
  • 如果我帮助了你,你也可以通过给我一个赞成票和/或一个复选标记来帮助我吗:)
【解决方案2】:

您应该重新下载 SQLSRV 驱动程序。 下载 SQLSRV30.EXE。

我使用了 SQLSRV32.EXE,但出现了和你一样的错误。 希望这会有所帮助:)

【讨论】:

    猜你喜欢
    • 2012-01-29
    • 1970-01-01
    • 1970-01-01
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-07
    • 2015-09-07
    相关资源
    最近更新 更多