Работа с БД: мета-данные полей
- Автор mityok on октября 10th, 2008
$this->db->list_fields()
Возвращает массив содержащий список имён полей таблицы. Возможны два способа вызова:
- Передать функции имя таблицы и вызвать функцию используя объект $this->db:
- $fields = $this->db->list_fields('table_name');
- foreach ($fields as $field)
- {
- }
- Выбрать имена полей таблицы используя объект результата запроса:
- $query = $this->db->query('SELECT * FROM some_table');
- foreach ($query->list_fields() as $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) { }
Если вы уже выполнили запрос, вы можете использовать объект результата вместо передачи имени таблицы:
$query = $this->db->query("YOUR QUERY"); $fields = $query->field_data();
В результате работы функции доступна следующая информация (если поддерживается вашей СУБД):
- name - имя поля
- max_length - максимальная длинна значения
- primary_key - 1 если поле - первичный ключ
- type - тип данных поля

Отправить комментарий