База данных Быстрый старт: Пример кода
На этой странице представлен пример кода, демонстрирующий использование класса базы данных. Для получения полной информации прочитайте отдельные страницы, описывающие каждую функцию.
- Инициализация класса базы данных
- Стандартный запрос с несколькими результатами (объектный вариант)
- Стандартный запрос с несколькими результатами (массивно-ориентированный вариант)
- Стандартный запрос с одним результатом
- Стандартный запрос с одним результатом (массивно-ориентированный вариант)
- Стандартная вставка
- Запрос с помощью Query Builder
- Вставка с помощью Query Builder
Инициализация класса базы данных
Следующий код загружает и инициализирует класс базы данных на основе настроек вашей конфигурации:
$db = \Config\Database::connect();
После загрузки класс готов к использованию, как описано ниже.
Примечание
Если все ваши страницы требуют доступа к базе данных, вы можете подключиться автоматически. Подробнее см. на странице подключения.
Стандартный запрос с несколькими результатами (объектный вариант)
$query = $db->query('SELECT name, title, email FROM my_table');
$results = $query->getResult();
foreach ($results as $row) {
echo $row->title;
echo $row->name;
echo $row->email;
}
echo 'Total Results: ' . count($results);
Стандартный запрос с несколькими результатами (массивно-ориентированный вариант)
$query = $db->query('SELECT name, title, email FROM my_table');
$results = $query->getResultArray();
foreach ($results as $row) {
echo $row['title'];
echo $row['name'];
echo $row['email'];
}
Стандартный запрос с одним результатом
$query = $db->query('SELECT name FROM my_table LIMIT 1');
$row = $query->getRow();
echo $row->name;
Вышеупомянутая getRow() функция возвращает объект. Пример: $row->name
Стандартный запрос с одним результатом (массивно-ориентированный вариант)
$query = $db->query('SELECT name FROM my_table LIMIT 1');
$row = $query->getRowArray();
echo $row['name'];
Вышеупомянутая getRowArray() функция возвращает массив. Пример: $row['name'].
Стандартная вставка
$sql = "INSERT INTO mytable (title, name) VALUES (".$db->escape($title).", ".$db->escape($name).")";
$db->query($sql);
echo $db->affectedRows();
Запрос с помощью Query Builder
Шаблон Query Builder предоставляет упрощённый способ извлечения данных:
$query = $db->table('table_name')->get();
foreach ($query->getResult() as $row) {
echo $row->title;
}
Вышеупомянутая get() функция извлекает все результаты из указанной таблицы. Класс Query Builder содержит полный набор функций для работы с данными.
Вставка с помощью Query Builder
$data = [
'title' => $title,
'name' => $name,
'date' => $date
];
$db->table('mytable')->insert($data);
// Produces: INSERT INTO mytable (title, name, date) VALUES ('{$title}', '{$name}', '{$date}')
© 2014–2020 British Columbia Institute of Technology
Licensed under the MIT License.
https://codeigniter.com/user_guide/database/examples.html