gpt4 book ai didi

php - 连接 CI 与 SQL Server 2008 R2

转载 作者:行者123 更新时间:2023-11-30 00:29:44 27 4
gpt4 key购买 nike

我知道这个问题已经被问了大约 100 次

但我真的很绝望

我使用 Windows 7

通常,我使用 Code Igniter 编写 PHP 和 MYSQL 作为我的数据库

我用xampp 1.8.1[PHP:5.4.7]

在 application\config\database.php 中,我使用

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = '';
$db['default']['password'] = '';
$db['default']['database'] = 'test';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$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;

在我的 system\database\DB_driver.php 中,我使用

    var $dbdriver       = 'mysql';
var $dbprefix = '';
var $char_set = 'utf8';
var $dbcollat = 'utf8_general_ci';
var $autoinit = TRUE; // Whether to automatically initialize the DB
var $swap_pre = '';
var $port = '';
var $pconnect = FALSE;
var $conn_id = FALSE;
var $result_id = FALSE;
var $db_debug = FALSE;
var $benchmark = 0;
var $query_count = 0;
var $bind_marker = '?';
var $save_queries = TRUE;
var $queries = array();
var $query_times = array();
var $data_cache = array();
var $trans_enabled = TRUE;
var $trans_strict = TRUE;
var $_trans_depth = 0;
var $_trans_status = TRUE; // Used with transactions to determine if a rollback should occur
var $cache_on = FALSE;
var $cachedir = '';
var $cache_autodel = FALSE;
var $CACHE; // The cache class object

在我的 Controller 内,我使用

$query = $this->db->query('SELECT * FROM asal');
foreach ($query->result_array() as $row)
{
echo $row['asalid'];
}

效果很好

但那是 mysql 和 php

现在我需要将 PHP 与 microsfot SQL Server 2008 R2 连接

这就是我所经历的事情

首先,我从这里安装 sqlsrv 驱动程序(SQLSRV30.exe) http://www.microsoft.com/en-us/download/details.aspx?id=20098

(据说php 5应该使用SQLSRV30)

接下来,我将其提取到我的 php/ext

现在在我的 php/ext 中,我已经有 8 个从 SQLSRV30.exe 中提取的附加文件

php_sqlsrv_54_ts.dll
php_sqlsrv_53_ts.dll
php_sqlsrv_54_nts.dll
php_sqlsrv_53_nts.dll

php_pdo_sqlsrv_54_ts.dll
php_pdo_sqlsrv_53_ts.dll
php_pdo_sqlsrv_54_nts.dll
php_pdo_sqlsrv_53_nts.dll

那么,我也尝试过添加这些句子

extension=php_sqlsrv_54_nts.dll
extension=php_pdo_sqlsrv_54_nts.dll

在我的 php.ini 中

最后,

我将 application\config\database.php 更改为

    $db['default']['hostname'] = 'NB-EDP-04\SQLEXPRESS';
$db['default']['username'] = '';
$db['default']['password'] = '';
$db['default']['database'] = 'test';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = FALSE;
$db['default']['db_debug'] = TRUE;
$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;

还有我的system\database\DB_driver.php

    var $dbdriver       = 'sqlsrv';
var $dbprefix = '';
var $char_set = 'utf8';
var $dbcollat = 'utf8_general_ci';
var $autoinit = TRUE; // Whether to automatically initialize the DB
var $swap_pre = '';
var $port = '';
var $pconnect = FALSE;
var $conn_id = FALSE;
var $result_id = FALSE;
var $db_debug = FALSE;
var $benchmark = 0;
var $query_count = 0;
var $bind_marker = '?';
var $save_queries = TRUE;
var $queries = array();
var $query_times = array();
var $data_cache = array();
var $trans_enabled = TRUE;
var $trans_strict = TRUE;
var $_trans_depth = 0;
var $_trans_status = TRUE; // Used with transactions to determine if a rollback should occur
var $cache_on = FALSE;
var $cachedir = '';
var $cache_autodel = FALSE;
var $CACHE; // The cache class object

但不好,在我的 URL 中输入 localhost/edp 后,我不断收到此错误

Unable to connect to your database server using the provided settings.

Filename: C:\xampp\htdocs\edp\system\database\DB_driver.php

Line Number: 127

我使用 Microsoft C# 应用程序进行测试

我尝试连接到同一个数据库,它有效

我可以选择该数据库内的表

所以我认为,我的数据库的远程连接已经激活

请帮帮我,谢谢

最佳答案

好的解决了

我的问题是 native 客户端

我转到控制面板>程序和功能

我搜索“Microsoft SQL Server 2008 R2 Native Client”

(因为我使用Microsoft SQL Server 2008 R2)

它会说,不建议卸载原生客户端,但是没关系,只要我们安装其他原生客户端即可

我下载

“Microsoft SQL Server 2012 native 客户端”

而且,它解决了,我不知道会发生什么,我只知道,它可以帮助我的 php 应用程序连接到 ms sql server 2008 R2

关于php - 连接 CI 与 SQL Server 2008 R2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22600667/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com