Получите помощь, поддержку и профессиональное общение в Клубе CodeIgniter

# CodeIgniter User Guide Version 2.1.3

Search User Guide

# Быстрый старт: примеры кода

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

## Инициализация класса БД

Следующий код загружает и инициализирует класс БД, основываясь на ваших конфигурационных настройках:

`$this->load->database();`

Загруженный класс доступен для использования, как показано ниже.

Примечание: Если все ваши страницы требуют соединения с БД, вы можете соединяться автоматически. Смотрите страницу о соединениях.

## Стандартный запрос с множеством результатов (объектная версия)

`$query = $this->db->query('SELECT name, title, email FROM my_table');
foreach ($query->result() as $row)
{
echo $row->title;
echo $row->name;
echo $row->email;
}
echo 'Total Results: ' . $query->num_rows();`

Выше функция result() вернет массив объектов. Например: $row->title

## Стандартный запрос с множеством результатов (версия с массивами)

`$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'];
}`

Выше функция result_array() возвращает массив со стандартными индексами. Например: $row['title']

## Тестирование результатов

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

`$query = $this->db->query("YOUR QUERY");
if ($query->num_rows() > 0)
{
foreach ($query->result() as $row)
{
echo $row->title;
echo $row->name;
echo $row->body;
}
}`

## Стандартный запрос с единственным результатом

`$query = $this->db->query('SELECT name FROM my_table LIMIT 1');
$row = $query->row();
echo $row->name;
`

Выше функция row() возвращает объект. Например: $row->name

## Стандартный запрос с единственным результатом (версия с массивами)

`$query = $this->db->query('SELECT name FROM my_table LIMIT 1');
$row = $query->row_array();
echo $row['name'];
`

Выше функция row_array() возвращает массив. Например: $row['name']

## Стандартная вставка

`$sql = "INSERT INTO mytable (title, name)
VALUES (".$this->db->escape($title).", ".$this->db->escape($name).")";
$this->db->query($sql);
echo $this->db->affected_rows();`

## Запрос Active Record

Паттерн Active Record дает вам упрощенные средства для получения данных:

`$query = $this->db->get('table_name');
foreach ($query->result() as $row)
{
echo $row->title;
}`

Выше функция get() получает все результаты из указанной таблицы. Класс Active Record содержит полный комплект функций для работы с данными.

## Вставка Active Record

`$data = array(
'title' => $title,
'name' => $name,
'date' => $date
);
$this->db->insert('mytable', $data);
// Сделает: INSERT INTO mytable (title, name, date) VALUES ('{$title}', '{$name}', '{$date}')`

### Поделиться

Переведено в компании Аринт.

# Спасибо!

Вы тоже можете оказать помощь проекту! Как это сделать?

## Помощь и поддержка

Вы можете задать вопросы и получить ответы и советы от гуру CodeIgniter и веб-разработки: вступайте в Клуб CodeIgniter