Field Data : CodeIgniter User Guide
Author: ExpressionEngine Dev Team
Description: CodeIgniter User Guide

# CodeIgniter User Guide Version 2.2.1

Search User Guide

# Field Data

## $this->db->list_fields()

Returns an array containing the field names. This query can be called two ways:

1. You can supply the table name and call it from the $this->db-> object:

`$fields = $this->db->list_fields('table_name');
foreach ($fields as $field)
{
echo $field;
}`

2. You can gather the field names associated with any query you run by calling the function from your query result object:

`$query = $this->db->query('SELECT * FROM some_table');
foreach ($query->list_fields() as $field)
{
echo $field;
}`

## $this->db->field_exists()

Sometimes it's helpful to know whether a particular field exists before performing an action. Returns a boolean TRUE/FALSE. Usage example:

`if ($this->db->field_exists('field_name', 'table_name'))
{
// some code...
}`

Note: Replace field_name with the name of the column you are looking for, and replace table_name with the name of the table you are looking for.

## $this->db->field_data()

Returns an array of objects containing field information.

Sometimes it's helpful to gather the field names or other metadata, like the column type, max length, etc.

Note: Not all databases provide meta-data.

Usage example:

`$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;
}`

If you have run a query already you can use the result object instead of supplying the table name:

`$query = $this->db->query("YOUR QUERY");
$fields = $query->field_data();`

The following data is available from this function if supported by your database:

- name - column name
- max_length - maximum length of the column
- primary_key - 1 if the column is a primary key
- type - the type of the column