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

CodeIgniter User Guide Version 2.1.0


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

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

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

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

$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

Яндекс.Метрика