Загрузка и инициализация класса для работы с базой данных в CodeIgniter:
$this->load->database();
Параметры подключения настраиваются в конфигурационном файле application/config/database.php:
$db['default']['hostname'] = "localhost"; $db['default']['username'] = "root"; $db['default']['password'] = ""; $db['default']['database'] = "database_name"; $db['default']['dbdriver'] = "mysql"; $db['default']['dbprefix'] = ""; $db['default']['pconnect'] = TRUE; $db['default']['db_debug'] = FALSE; $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;
Описание параметров:
hostname — Имя хоста сервера базы данных. Обычно «localhost».
username — Имя пользователя, соединяющегося с базой данных.
password — Пароль, использующийся для соединения с базой данных.
database — Имя базы данных.
dbdriver — Тип базы данных, например: mysql, postgres, odbc и т.д. Должен быть указан в нижнем регистре.
dbprefix — Опциональный префикс для таблиц, который добавляется к имени таблицы при использовании запросов Active Record. Это позволяет использовать несколько инсталяций CodeIgnter с одной БД.
pconnect — TRUE/FALSE (boolean) — использовать ли постоянное соединение.
db_debug — TRUE/FALSE (boolean) — отображать ли ошибки БД.
cache_on — TRUE/FALSE (boolean) — включено ли кеширование, смотрите также класс Database Caching.
cachedir — Абсолютный серверный путь к директории кешей.
char_set — Используемая кодировка при соединении.
dbcollat — Кодировка сравнения.
swap_pre — Префикс таблицы по умолчанию, который переключается dbprefix. Это полезно для выпускаемых приложений, которые могут еще использовать вручную написанные запросы, но необходимо предусмотреть использование префикса для конечного пользователя.
autoinit — Использовать или нет автоматическую инициализацию БД.
stricton — TRUE/FALSE (boolean) — Использовать ли «Strict Mode» (строгий режим) соединений, удобно для обеспечения строгого SQL при разработке приложения.
port — Номер порта базы данных.
В конфигурационном файле application/config/database.php можно хранить множественные настройки для нескольких баз данных. Глобально указать системе, какую группу настроек использовать можно с помощью переменной:
$active_group = "default";
Для автоматической загрузки соединения на каждой странице достаточно добавить в application/config/autoload.php:
$autoload['libraries'] = array('database');
Простой пример работы с базой данных в CodeIgniter 2:
$query = $this->db->query('SELECT name, title, email FROM my_table'); foreach ($query->result_array() as $row) { echo $row['title']; echo $row['name']; echo $row['email']; }