Database Quick Start : CodeIgniter User Guide
Author: ExpressionEngine Dev Team
Description: CodeIgniter User Guide

# CodeIgniter User Guide Version 2.2.1

Search User Guide

# Database Quick Start: Example Code

The following page contains example code showing how the database class is used. For complete details please read the individual pages describing each function.

## Initializing the Database Class

The following code loads and initializes the database class based on your configuration settings:

`$this->load->database();`

Once loaded the class is ready to be used as described below.

Note: If all your pages require database access you can connect automatically. See the connecting page for details.

## Standard Query With Multiple Results (Object Version)

`$query = $this->db->query('SELECT name, title, email FROM my_table');
foreach ($query->result() as $row)
{
echo $row->title;
echo $row->name;
echo $row->email;
}
echo 'Total Results: ' . $query->num_rows();`

The above result() function returns an array of objects. Example: $row->title

## Standard Query With Multiple Results (Array Version)

`$query = $this->db->query('SELECT name, title, email FROM my_table');
foreach ($query->result_array() as $row)
{
echo $row['title'];
echo $row['name'];
echo $row['email'];
}`

The above result_array() function returns an array of standard array indexes. Example: $row['title']

## Testing for Results

If you run queries that might not produce a result, you are encouraged to test for a result first using the num_rows() function:

`$query = $this->db->query("YOUR QUERY");
if ($query->num_rows() > 0)
{
foreach ($query->result() as $row)
{
echo $row->title;
echo $row->name;
echo $row->body;
}
}`

## Standard Query With Single Result

`$query = $this->db->query('SELECT name FROM my_table LIMIT 1');
$row = $query->row();
echo $row->name;
`

The above row() function returns an object. Example: $row->name

## Standard Query With Single Result (Array version)

`$query = $this->db->query('SELECT name FROM my_table LIMIT 1');
$row = $query->row_array();
echo $row['name'];
`

The above row_array() function returns an array. Example: $row['name']

## Standard Insert

`$sql = "INSERT INTO mytable (title, name)
VALUES (".$this->db->escape($title).", ".$this->db->escape($name).")";
$this->db->query($sql);
echo $this->db->affected_rows();`

## Active Record Query

The Active Record Pattern gives you a simplified means of retrieving data:

`$query = $this->db->get('table_name');
foreach ($query->result() as $row)
{
echo $row->title;
}`

The above get() function retrieves all the results from the supplied table. The Active Record class contains a full compliment of functions for working with data.

## Active Record Insert

`$data = array(
'title' => $title,
'name' => $name,
'date' => $date
);
$this->db->insert('mytable', $data);
// Produces: INSERT INTO mytable (title, name, date) VALUES ('{$title}', '{$name}', '{$date}')`