Code Igniter User Guide Version 1.5.0


Database Utilities Class

The Database Utilities Class contains functions that help you manage your database.

Important:  This class must be initialized independently since it is a separate class from the main Database class. More info below...

Initializing the Utilities Class

To initialize this class please use the following code:

$this->load->dbutil()

You can also autoload this class from within your config/autoload.php file by specifying dbutil in the $autoload['libraries'] array.

Once initialized you will access the functions using the $this->dbutil object:

$this->dbutil->some_function()

$this->dbutil->create_database('db_name')

Permits you to create a database using the name specified in the first parameter. Returns TRUE/FALSE based on success or failure:

if ($this->dbutil->create_database('my_db'))
{
    echo 'Database created!';
}

$this->dbutil->drop_database('table_name')

Permits you to drop a database using the table name specified in the first parameter. Returns TRUE/FALSE based on success or failure:

if ($this->dbutil->drop_database('my_db'))
{
    echo 'Database deleted!';
}

$this->dbutil->list_databases()

Returns an array of database names:

$dbs = $this->dbutil->list_databases();

foreach($dbs as $db)
{
    echo $db;
}

$this->dbutil->list_tables();

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

$tables = $this->dbutil->list_tables()

foreach ($tables as $table)
{
    echo $table;
}

$this->dbutil->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->dbutil->table_exists('table_name'))
{
    // some code...
}

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

$this->dbutil->optimize_table('table_name');

Permits you to optimize a table using the table name specified in the first parameter. Returns TRUE/FALSE based on success or failure:

if ($this->dbutil->optimize_table('table_name'))
{
    echo 'Success!'
}

Note: Not all database platforms support table optimization.

$this->dbutil->repair_table('table_name');

Permits you to repair a table using the table name specified in the first parameter. Returns TRUE/FALSE based on success or failure:

if ($this->dbutil->optimize_table('table_name'))
{
    echo 'Success!'
}

Note: Not all database platforms support table repairs.

$this->dbutil->optimize_database();

Permits you to optimize the database your DB class is currently connected to. Returns an array containing the returned status messages or FALSE on failure.

$result = $this->dbutil->optimize_databas();

if ($result !== FALSE)
{
    print_r($result);
}

Note: Not all database platforms support table optimization.

$this->dbutil->cvs_from_result($db_result)

Permits you to generate a CVS file from a query result. The first parameter of the function must contain the result object from your query. Example:

$this->load->dbutil();

$query = $this->db->query("SELECT * FROM mytable");

echo $this->dbutil->cvs_from_result($query);

The second and third parameters allows you to set the delimiter and newline character. By default tabs are used as the delimiter and "\n" is used as a new line. Example: $delimiter = ",";
$newline = "\r\n";

echo $this->dbutil->cvs_from_result($query, $delimiter, $newline);

Important:  This function will NOT write the CVS file for you. It simply creates the CVS layout. If you need to write the file use the File Helper.

$this->dbutil->xml_from_result($db_result)

Permits you to generate an XML file from a query result. The first parameter expects a query result object, the second may contain an optional array of config parameters. Example:

$this->load->dbutil();

$query = $this->db->query("SELECT * FROM mytable");

$config = array (
                  'root'    => 'root',
                  'element' => 'element',
                  'newline' => "\n",
                  ';tab'    => "\t"
                );

echo $this->dbutil->cvs_from_result($query, $config);

Important:  This function will NOT write the CVS file for you. It simply creates the CVS layout. If you need to write the file use the File Helper.