Я видел и попробовал все решения в Codeigniter — несколько соединений с базой данных, Вы указали неверную ошибку codeigniter группы соединений с базой данных, firebird — соединение кодигнитором и никто из них не работал.
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'testing';
$db['default']['dbdriver'] = 'mysqli';
$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;$db['fbird']['hostname'] = "localhost";
$db['fbird']['username'] = "SYSDBA";
$db['fbird']['password'] = "masterkey";
$db['fbird']['database'] = "C:\waitkyl.fdb";
$db['fbird']['dbdriver'] = "firebird";
После этой конфигурации я называю fbird
база данных таким образом:
class Fb_model extends CI_Model{
public function __construct(){
parent::__construct();
}
public function getAll(){
$db = $this->load->database('fbird', TRUE);
return $db->get('categories')->result();
}
}
И ошибка, которую я получаю после попытки вывести значения print_r($this->fb_model->getAll());
является:
Неустранимая ошибка: вызов функции-члена result () для необъекта
Обычно это означает, что таблица «категорий» не существует, что не соответствует действительности.
Поэтому я попытался изменить свой файл конфигурации на:
$db['fbird']['hostname'] = "localhost";
$db['fbird']['username'] = "SYSDBA";
$db['fbird']['password'] = "masterkey";
$db['fbird']['database'] = "C:\waitkyl.fdb";
$db['fbird']['dbdriver'] = "firebird";
$db['fbird']['dbprefix'] = "";
$db['fbird']['pconnect'] = FALSE;
$db['fbird']['db_debug'] = TRUE;
$db['fbird']['cache_on'] = FALSE;
$db['fbird']['cachedir'] = "";
$db['fbird']['char_set'] = "utf8";
$db['fbird']['dbcollat'] = "utf8_general_ci";
А также удален из php.ini
подать ;
из следующих строк:
extension=php_pdo_firebird.dll
extension=php_interbase.dll
И если я обновлю страницу сейчас, я получу сообщение об ошибке:
Невозможно подключиться к серверу базы данных с использованием предоставленных настроек.
Имя файла: C: \ xampp \ htdocs \ projtesting \ system \ database \ DB_driver.php
Номер строки: 124
Чтобы увидеть, были ли учетные данные из базы данных в порядке, я открыл его в программном обеспечении SQL Manager 2008 Lite for Interbase and Firebird
и это было нормально.
Есть идеи, что происходит не так?
Решение: Codeigniter 3 (dbdriver = ibase)
$db['firebird'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'sysdba',
'password' => 'masterkey',
'database' => 'c:/database.GDB',
'dbdriver' => 'ibase',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'ANSI',
'dbcollat' => 'NONE',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
Других решений пока нет …