Работа с БД: мета-данные полей

 

$this->db->list_fields()

Возвращает массив содержащий список имён полей таблицы. Возможны два способа вызова:

  1. Передать функции имя таблицы и вызвать функцию используя объект $this->db:
    1. $fields = $this->db->list_fields('table_name');
    2.  
    3. foreach ($fields as $field)
    4. {
    5. echo $field;
    6. }
  2. Выбрать имена полей таблицы используя объект результата запроса:
    1. $query = $this->db->query('SELECT * FROM some_table');
    2.  
    3. foreach ($query->list_fields() as $field)
    4. {
    5. echo $field;
    6. }

$this->db->field_exists()

Иногда бывает полезно знать, существует ли поле прежде чем выполнять какие-либо действия с ним. Функция возвращает TRUE/FALSE. Пример использования:

  1. if ($this->db->field_exists('field_name', 'table_name'))
  2. {
  3. // some code...
  4. }

Примечание: Замените field_name на имя поля наличие которого вы хотите определить, а table_name - на имя таблицы с которой работаете.

$this->db->field_data()

Возвращает массив объектов, содержащих информацию о полях. В ряде случаев бывает полезно получить информацию о типах полей, максимальном размере значения и т.д.


Примечание: не все СУБД предоставляют мета-данные.

Пример использования:

  1. $fields = $this->db->field_data('table_name');
  2.  
  3. foreach ($fields as $field)
  4. {
  5. echo $field->name;
  6. echo $field->type;
  7. echo $field->max_length;
  8. echo $field->primary_key;
  9. }

Если вы уже выполнили запрос, вы можете использовать объект результата вместо передачи имени таблицы:

  1. $query = $this->db->query("YOUR QUERY");
  2. $fields = $query->field_data();

В результате работы функции доступна следующая информация (если поддерживается вашей СУБД):

  • name - имя поля
  • max_length - максимальная длинна значения
  • primary_key - 1 если поле - первичный ключ
  • type - тип данных поля

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

  • Allowed HTML tags: <em> <b> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <p> <h2> <h3> <h4> <table> <tr> <td> <th>
  • Строки и параграфы переносятся автоматически.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]". PHP source code can also be enclosed in <?php ... ?> or <% ... %>.

Подробнее о форматировании

CAPTCHA
Этот вопрос предназначен для того, чтобы отсеять ботов

Вход в систему

Последние комментарии