Сведения о базе данных
Метаданные таблицы
Эти функции позволяют получить информацию о таблицах.
Список таблиц в вашей базе данных
$this->db->list_tables();
Возвращает массив, содержащий имена всех таблиц в базе данных, к которой вы в настоящее время подключены. Пример:
$tables = $this->db->list_tables();
foreach ($tables as $table)
{
echo $table;
}
Определение наличия таблицы
$this->db->table_exists();
Иногда полезно узнать, существует ли определенная таблица, прежде чем выполнять операцию с ней. Возвращает логическое значение TRUE/FALSE. Пример использования:
if ($this->db->table_exists('table_name'))
{
// some code...
}
Примечание
Замените table_name на имя таблицы, которую вы ищете.
Метаданные поля
Список полей в таблице
$this->db->list_fields()
Возвращает массив, содержащий имена полей. Этот запрос можно вызвать двумя способами:
1. Вы можете указать имя таблицы и вызвать его из объекта $this->db->:
$fields = $this->db->list_fields('table_name');
foreach ($fields as $field)
{
echo $field;
}
2. Вы можете собрать имена полей, связанные с любым запросом, вызвав функцию из объекта результата вашего запроса:
$query = $this->db->query('SELECT * FROM some_table');
foreach ($query->list_fields() as $field)
{
echo $field;
}
Определение наличия поля в таблице
$this->db->field_exists()
Иногда полезно узнать, существует ли определенное поле, прежде чем выполнять действие. Возвращает логическое значение TRUE/FALSE. Пример использования:
if ($this->db->field_exists('field_name', 'table_name'))
{
// some code...
}
Примечание
Замените field_name на имя столбца, который вы ищете, и замените table_name на имя таблицы, которую вы ищете.
Получение метаданных поля
$this->db->field_data()
Возвращает массив объектов, содержащих информацию о поле.
Иногда полезно собрать имена полей или другие метаданные, такие как тип столбца, максимальная длина и т. д.
Примечание
Не все базы данных предоставляют метаданные.
Пример использования:
$fields = $this->db->field_data('table_name');
foreach ($fields as $field)
{
echo $field->name;
echo $field->type;
echo $field->max_length;
echo $field->primary_key;
}
Если вы уже выполнили запрос, вы можете использовать объект результата вместо указания имени таблицы:
$query = $this->db->query("YOUR QUERY");
$fields = $query->field_data();
Следующие данные доступны из этой функции, если это поддерживается вашей базой данных:
- name - имя столбца
- max_length - максимальная длина столбца
- primary_key - 1, если столбец является первичным ключом
- type - тип столбца
© 2014–2020 British Columbia Institute of Technology
Licensed under the MIT License.
https://codeigniter.com/userguide3/database/metadata.html