Подключить sqlsrv в Xampp

Я установил Xampp с установкой CodeIgniter. Я хочу подключиться от CodeIgniter к базе данных SQL.

Я изменил конфигурационный файл базы данных и установил dbdriver в sqlsrv.

$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_driver.php в строке 76

Я прочитал на форуме, что мне нужно изменить строку 89 из sqlsrv_driver.php:

 function db_pconnect() { // $this->db_connect(TRUE); original return $this->db_connect(TRUE); } 

Что я не так?

EDIT. Сначала вам нужно загрузить драйвер http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx

Теперь перейдите к установке XAMPP и найдите php.dll. Будет отображаться корректная PHP-библиотека.

1) перемещение следующих файлов в каталог xampp / php / ext.

 php_sqlsrv_53_nts_vc9.dll php_pdo_sqlsrv_53_nts_vc9.dll 

2) Если у вас есть php5ts.dll, переместите следующие файлы в каталог xampp / php / ext.

 php_sqlsrv_53_ts_vc9.dll php_pdo_sqlsrv_53_ts_vc9.dll 

над файлами следует использовать, если ваша версия PHP скомпилирована с помощью Visual C ++ 9.0. Необходимо использовать следующие файлы.

1) Если у вас есть php.dll, переместите следующие файлы в каталог xampp / php / ext.

 php_sqlsrv_53_nts_vc6.dll php_pdo_sqlsrv_53_nts_vc6.dll 

2) Если у вас есть php5ts.dll, переместите следующие файлы в каталог xampp / php / ext.

 php_sqlsrv_53_ts_vc6.dll php_pdo_sqlsrv_53_ts_vc6.dll 

Теперь нам нужно загрузить файлы, которые мы добавили недавно. Откройте файл php ini и добавьте запись в область динамических расширений, как показано ниже.

 extension=php_sqlsrv_53_nts_vc9.dll extension= php_pdo_sqlsrv_53_nts_vc9 .dll 

Сохраните ini-файлы и перезапустите XAMPP


 $check= @$CI->load->database($config, TRUE); // ommit the error if ($check->call_function('error') !== 0) { // Failed to connect } 

Я не знаю точно, что вы пытаетесь сделать, но в кодеригенере вам не нужно инициализировать базу данных, CI автоматически сделает это за вас

так-

 $this->load->database(); $db_obj = $this->db->load('SQL_Test',TRUE); $connected = $db_obj->initialize(); 

это не нужно.

Вам просто нужно загрузить модель и начать работу с запросами модели. $ This-> load-> базы данных (); В контроллере вам необходимо загрузить модель,

 $this->load->model('my_model'); 

затем вызовите функцию модели, в которой вы написали запросы.

 $this->my_model->myfunction(); 

У вашей настройки XAMPP нет поддержки sqlsrv. Вам нужно включить его в php.ini .

 extension=php_sqlsrv.dll extension=php_pdo_sqlsrv.dll