Работа с БД: подключение к базе данных

 

Существует два способа подключения к базе данных:

Автоматическое подключение

В автоматическом режиме подключение к базе данных будет осуществлятся при каждой загрузке страницы. Для того, чтобы включить автоматический режим подключения необходимо вписать "database" в массив "libraries" в файле
application/config/autoload.php

Подключение в ручном режиме

Если подключение к базе данных требуется только при загрузке некоторых страниц сайта, вы можете вручную добавить следующий код в функцию, где оно необходимо, либо в конструктор чтобы сделать подключение к базе данных доступным в рамках всех методов класса:

  1. $this->load->database();

Если ничего не задано в качестве первого параметра функции, то подключение будет осуществлено с использованием той группы параметров, которая задана в файле конфигурации. Для большинства случаев такой способ подключения является предпочтительным.

Первый параметр функции может быть опционально использован для указания определнной группы параметров из файла конфигурации, либо даже для передачи параметров подключения, не описанных в файле конфигурации. Примеры:

  1. $this->load->database('group_name');

Здесь group_name - имя группы параметров из файла конфигурации.
Для подключения с параметрами, заданными вручную без объяевления в файле конфигурации нужно передать первым параметром функции массив:
  1. $config['hostname'] = "localhost";
  2. $config['username'] = "myusername";
  3. $config['password'] = "mypassword";
  4. $config['database'] = "mydatabase";
  5. $config['dbdriver'] = "mysql";
  6. $config['dbprefix'] = "";
  7. $config['pconnect'] = FALSE;
  8. $config['db_debug'] = TRUE;
  9. $config['cache_on'] = FALSE;
  10. $config['cachedir'] = "";
  11. $config['char_set'] = "utf8";
  12. $config['dbcollat'] = "utf8_general_ci";
  13.  
  14. $this->load->database($config);

Описание параметров подключения доступно на странице конфигурации базы данных.
Также вы можете передать параметры подключения в виде строки DSN (Data Source Name):
  1. $dsn = 'dbdriver://username:password@hostname/database';
  2.  
  3. $this->load->database($dsn);

Примечание: при использовании DSN у вас не будет возможность задать некоторые значения по умолчанию, которые доступны при использовании массива параметров конфигурации.

Подключение к нескольким базам данных

Если вам нужно осуществить подключение более чем к одной базе данных, вы можете осуществить это следующим образом:

  1. $DB1 = $this->load->database('group_one', TRUE);
  2. $DB2 = $this->load->database('group_two', TRUE);

Примечание: вместо "group_one" и "group_two" задайте название групп параметров нужных в вашем случае или задайте параметры подключения как описано выше.
При установке второго параметра функции в TRUE функция вернет объект подключения к БД.

Примечание: если вы используете подключение к нескольким базам данных, вам придется использовать синтаксис, несколько отличный от того, который описан в данном руководстве. Другими словами, вместо:
$this->db->query();
$this->db->result();
...
вам понадобится писать:
$DB1->query();
$DB1->result();
...

Отправить комментарий

CAPTCHA
Этот вопрос предназначен для того, чтобы отсеять ботов
13 + 2 =
Решите простой математический пример и введите результат. К примеру, для вопроса 1+3 нужно ввести 4

Вход в систему

Последние комментарии