Dans un premier temps, vous devez configurer la base de données (BdD) dans le fichier situé dans : application/config/database.php. Les principales lignes à éditer sont les cinq premières du tableau db['default'] :
<?php
$db['default'] = array(
1 'dsn' => 'mysql:host=localhost; dbname=domainname; charset=utf8',//Describe the connection to the DB
2 'hostname' => 'localhost', //The hostname of your server
3 'username' => 'name', //Users who can access to the DB
4 'password' => 'pass', //Password required for accessing to the DB
5 'database' => 'dbname', //Name of the DB
6 'dbdriver' => 'pdo', //Driver of the DB
7 'dbprefix' => '', //Optionnal, prefix for a table name
8 'pconnect' => FALSE, //Whether to use a persistant connection
9 'db_debug' => (ENVIRONMENT !== 'production'), //How to display errors (environment)
10 'cache_on' => FALSE, //Enable/Disable query caching
11 'cachedir' => '', //Location of the cache
12 'char_set' => 'utf8', //The character set used in communication with the DB
13 'dbcollat' => 'utf8_general_ci', //The character collation used in communicating with the DB
14 'swap_pre' => '', //A default table prefix that can be swapped with the dbprefix
15 'encrypt' => FALSE, //Whether or not to use an encrypted connection
16 'compress' => FALSE, //Whether or not to use client compression (MySQL only)
17 'stricton' => FALSE, //TRUE/FALSE - forces 'Strict Mode' connections
18 'failover' => array(), //An array with data in case the connection to the main db fails
19 'save_queries' => TRUE //TRUE/FALSE - Whether to "save" all executed queries.
);
?>
Il existe deux façons de se connecter à la base de données : manuellement ou automatiquement.
Automatiquement, vous allez charger la base de données dans toutes les pages de votre site. Pour cela, ajouter le mot "database" dans la librarie du dossier : application/config/autoload.php
$this -> load -> database()
Toutes les fonctions que vous pourrez utiliser pour manipuler la base de données peuvent être trouvées sur le site de CodeIgniter à cette adresse Pour les résumer, je vais citer les fonctions principales que vous pourriez utiliser.
Comment trouver une donnée à partir d'un nom, ID, email...
//Comment trouver une donnée selon plusieurs critères
$array = array('name' => $name, 'title' => $title, 'status' => $status);
$this->db->where($array);
$query = $this->db->get('mytable');
$result = $query->result_array();
Comment insérer une donnée
// Insérer une donnée dans la table "mytable"
$data = array('name' => Paris, 'title' => Amour, 'Date' => 1998);
$this->db->insert('mytable',$data);
Comment mette à jour une donnée
// Actualise une ligne de la table
$this->db->set('field','data');
$this->db->where('id',4);
$this->db->update('mytable');
Comment classer les données
// Ordonner les titres en ordre croissant
$this->db->order_by('title','ASC');
// Ordonner les titres en ordre décroissant
$this->db->order_by('title','DESC');
//Ordonner les titres de façon aléatoire
$this->db->order_by('title','RANDOM');
//Supprimer la donnée correspondant à l'id=$id de "mytable"
$this->db->delete('mytable', array('id'=>$id);
//Supprimer une table entièrement
$this->db->empty_table('mytable');
De nombreuses autres fonctions sont disponibles : like(), count_all_results(), select_avg ou limit().