Метаданные базы данных  

    Таблица метаданных  

    Эти функции позволяют получать информацию о таблице.

    List the Tables in Your Database  

    $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'))
    {
            // код...
    }
    

    Примечание

    Замените table_name названием таблицы для проверки на существование.

    Поля метаданных  

    Список полей в таблице  

    $this->db->list_fields()

    Возвращает массив, содержащий имена полей. Этот запрос может быть вызван двумя способами:

    1. Вы можете указать имя таблицы и вызвать ее из $this->db-> object:

    $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'))
    {
            // код...
    }
    

    Примечание

    Замените 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 - тип столбца