+ +
+

Database Metadata

+
+

Table MetaData

+

These functions let you fetch table information.

+
+

List the Tables in Your Database

+

$this->db->list_tables();

+

Returns an array containing the names of all the tables in the database +you are currently connected to. Example:

+
$tables = $this->db->list_tables();
+
+foreach ($tables as $table)
+{
+        echo $table;
+}
+
+
+
+
+

Determine If a Table Exists

+

$this->db->table_exists();

+

Sometimes it’s helpful to know whether a particular table exists before +running an operation on it. Returns a boolean TRUE/FALSE. Usage example:

+
if ($this->db->table_exists('table_name'))
+{
+        // some code...
+}
+
+
+
+

Note

+

Replace table_name with the name of the table you are looking for.

+
+
+
+
+

Field MetaData

+
+

List the Fields in a Table

+

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

Determine If a Field is Present in a Table

+

$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.

+
+
+
+

Retrieve Field Metadata

+

$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
  • +
+
+
+
+ + +