Php 在Xampp中连接sqlsrv
我已经安装了带有CodeIgniter安装的Xampp。我想从CodeIgniter连接到SQL数据库 我更改了数据库配置文件,并将dbdriver设置为sqlsrvPhp 在Xampp中连接sqlsrv,php,sql,codeigniter,xampp,Php,Sql,Codeigniter,Xampp,我已经安装了带有CodeIgniter安装的Xampp。我想从CodeIgniter连接到SQL数据库 我更改了数据库配置文件,并将dbdriver设置为sqlsrv $active_group = 'default'; $active_record = TRUE; $db['default']['hostname'] = 'IP Adress; $db['default']['username'] = 'DBUserName'; $db['default']['password'] = 'D
$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'IP Adress;
$db['default']['username'] = 'DBUserName';
$db['default']['password'] = 'DBPassword';
$db['default']['database'] = 'DBName';
$db['default']['dbdriver'] = 'sqlsrv';
$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;
在我的控制器中,我有以下代码来尝试连接:
$this->load->database();
$db_obj = $this->db->load('sql_Test',TRUE);
$connected = $db_obj->initialize();
if (!$connected){
$db_obj = $this->d->load('yyy',TRUE);
}
else{
die('connected');
}
我有以下错误:
致命错误:在中调用未定义的函数sqlsrv_connect()
C:\xampp\htdocs\system\database\drivers\sqlsrv\sqlsrv\u driver.php on
第76行
我在一个论坛上读到,我必须更改sqlsrv_driver.php的第89行:
function db_pconnect()
{
// $this->db_connect(TRUE); original
return $this->db_connect(TRUE);
}
我做错了什么?编辑-
首先,您需要下载驱动程序
现在转到XAMPP安装并搜索php.dll
它将显示您拥有的正确的PHP dll
1) 将以下文件移动到xampp/php/ext目录
php_sqlsrv_53_nts_vc9.dll
php_pdo_sqlsrv_53_nts_vc9.dll
php_sqlsrv_53_ts_vc9.dll
php_pdo_sqlsrv_53_ts_vc9.dll
php_sqlsrv_53_nts_vc6.dll
php_pdo_sqlsrv_53_nts_vc6.dll
php_sqlsrv_53_ts_vc6.dll
php_pdo_sqlsrv_53_ts_vc6.dll
2) 如果您有php5ts.dll,则将以下文件移动到xampp/php/ext目录
php_sqlsrv_53_nts_vc9.dll
php_pdo_sqlsrv_53_nts_vc9.dll
php_sqlsrv_53_ts_vc9.dll
php_pdo_sqlsrv_53_ts_vc9.dll
php_sqlsrv_53_nts_vc6.dll
php_pdo_sqlsrv_53_nts_vc6.dll
php_sqlsrv_53_ts_vc6.dll
php_pdo_sqlsrv_53_ts_vc6.dll
如果PHP版本是用Visual C++ 9编译的,则应该使用以上文件。否则应使用以下文件
1) 如果您有php.dll,那么将以下文件移动到xampp/php/ext目录
php_sqlsrv_53_nts_vc9.dll
php_pdo_sqlsrv_53_nts_vc9.dll
php_sqlsrv_53_ts_vc9.dll
php_pdo_sqlsrv_53_ts_vc9.dll
php_sqlsrv_53_nts_vc6.dll
php_pdo_sqlsrv_53_nts_vc6.dll
php_sqlsrv_53_ts_vc6.dll
php_pdo_sqlsrv_53_ts_vc6.dll
2) 如果您有php5ts.dll,则将以下文件移动到xampp/php/ext目录
php_sqlsrv_53_nts_vc9.dll
php_pdo_sqlsrv_53_nts_vc9.dll
php_sqlsrv_53_ts_vc9.dll
php_pdo_sqlsrv_53_ts_vc9.dll
php_sqlsrv_53_nts_vc6.dll
php_pdo_sqlsrv_53_nts_vc6.dll
php_sqlsrv_53_ts_vc6.dll
php_pdo_sqlsrv_53_ts_vc6.dll
现在我们必须加载最近添加的文件。打开PHPINI文件并在动态扩展区域中添加条目,如下所示
extension=php_sqlsrv_53_nts_vc9.dll
extension= php_pdo_sqlsrv_53_nts_vc9 .dll
保存ini文件并重新启动XAMPP
我不知道你们想做什么,但在codeigniter中你们不需要初始化数据库,CI会自动为你们做 所以- 这是不必要的 您只需要加载模型,然后在模型中开始执行查询。 $this->load->database(); 在控制器中,您需要像这样加载模型-
$this->load->model('my_model');
然后调用编写查询的模型函数
$this->my_model->myfunction();
您的XAMPP安装程序不支持sqlsrv。 您需要在
php.ini
中启用它
extension=php_sqlsrv.dll
extension=php_pdo_sqlsrv.dll
XAMPP不是和MySQL一起提供的吗?SQLSRV是错误的,您需要“mysql”。好吧,但必须连接SQL数据库哦,我现在明白您的意思了。检查我的答案。是的,但我想在编写查询之前尝试连接。我制作了一个模型,也编写了一个查询,但我得到了相同的错误。@MartenB检查我编辑了我的答案,我希望是这样helps@MartenB好的,现在我明白了,为了连接到sqlsrv。。您需要首先在XAMPP中定义它。等等,我会编辑我的答案谢谢你的解释。重新启动Xamp时出现以下错误:无法加载动态库php_sqlsrv_53_nts_vc9.dll。此dll不包含我从网站下载的文件。我在重新启动Xampp时出现以下错误:无法加载动态库php\u sqlsrv\u 53\u nts\u vc9.dll。此dll不包含我从网站()下载的文件。