【发布时间】:2014-03-24 03:38:36
【问题描述】:
我知道这个问题已经问了 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
在我的控制器内部,我使用
$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 中,我已经从 SQLSRV30.exe 中提取了 8 个附加文件
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;
也是我的系统\数据库\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# 应用程序进行测试
我尝试连接到同一个数据库,它可以工作
我可以选择该数据库中的表
所以我想,我的数据库的远程连接已经激活
请帮帮我,谢谢
【问题讨论】:
标签: php mysql sql sql-server codeigniter