Si vous débutez avec CodeIgniter 4, l’un des premiers défis que vous rencontrerez est la connexion à une base de données. Cette étape est essentielle pour développer des applications web dynamiques qui interagissent avec des données stockées.
Dans ce tutoriel, nous allons voir comment configurer et tester une connexion à une base de données avec CodeIgniter 4, étape par étape.
Vérifier l’installation de CodeIgniter 4
Avant toute chose, assurez-vous que CodeIgniter 4 est bien installé sur votre machine. Si ce n’est pas encore fait, vous pouvez l’installer via Composer :
- Composer, le tutoriel complet : Installation et utilisation
- Guide pour installer CodeIgniter avec Composer
Configurer la connexion à la base de données
CodeIgniter utilise un fichier de configuration spécifique pour gérer la connexion à la base de données. Vous devez modifier le fichier .env à la racine du projet.
Activer le fichier .env
Par défaut, le fichier .env
est inactif. Renommez env en .env (sans extension) pour l’activer.
Modifier les paramètres de connexion
Ouvrez le fichier .env
avec un éditeur de texte et recherchez la section database. Modifiez les valeurs en fonction de votre base de données MySQL :
database.default.hostname = 127.0.0.1
database.default.database = nom_de_votre_bdd
database.default.username = root
database.default.password = root
database.default.DBDriver = MySQLi
database.default.port = 3306
database.default.charset = utf8mb4
database.default.DBCollate = utf8mb4_general_ci
🔹 Explication des paramètres :
hostname
: Adresse du serveur de base de données (souvent127.0.0.1
en local).database
: Nom de votre base de données.username
etpassword
: Identifiants de connexion (par défautroot
/root
sous MAMP).DBDriver
: Le moteur de base de données utilisé (MySQLi est recommandé pour MySQL).port
: Port de connexion MySQL (3306 par défaut, 8889 sous MAMP).charset
: Encodage des caractères (utf8mb4
pour gérer tous les caractères, y compris les emojis).
💡 Attention : Si vous utilisez MAMP, le port MySQL est souvent 8889
. Pensez à le modifier si nécessaire.
Voici un exemple pour vous connecter à votre base de données avec CodeIgniter 4 lorsqu’on utilise le serveur Mamp :
database.default.hostname = localhost
database.default.database = nom_de_la_bdd
database.default.username = root
database.default.password = root
database.default.DBDriver = MySQLi
database.default.DBPrefix =
database.default.port = 8889
Tester la connexion à la base de données
Créer un contrôleur de test
Dans le dossier app/Controllers/
, créez un fichier DatabaseTest.php et ajoutez-y le code suivant :
<?php
namespace App\Controllers;
use CodeIgniter\Controller;
use Config\Database;
class DatabaseTest extends BaseController
{
public function index()
{
// Connexion à la base de données
try {
$db = Database::connect();
// Exécuter une requête simple pour vérifier la connexion
$query = $db->query("SELECT 1");
if ($query) {
return "Connexion à la base de données réussie ! 🎉";
} else {
return "Échec de la connexion à la base de données. ❌";
}
} catch (\Exception $e) {
return "Erreur de connexion : " . $e->getMessage();
} }
}
🔹 Que fait ce code ?
- Il tente de se connecter à la base de données.
- Il exécute une requête simple
SELECT 1
pour vérifier que MySQL fonctionne. - Il affiche un message de succès ou une erreur détaillée en cas d’échec.
Accéder au test via le navigateur
Ajoutez la route suivante dans app/Config/Routes.php
:
$routes->get('/test-db', 'DatabaseTest::index');
Puis, ouvrez votre navigateur et accédez à l’URL suivante :
http://localhost:8888/test-db
Si tout est bien configuré, vous verrez :
Connexion à la base de données réussie ! 🎉
Si un problème survient, vous verrez un message d’erreur détaillé.

Des formations informatique pour tous !
Débutant ou curieux ? Apprenez le développement web, le référencement, le webmarketing, la bureautique, à maîtriser vos appareils Apple et bien plus encore…
Formateur indépendant, professionnel du web depuis 2006, je vous accompagne pas à pas et en cours particulier, que vous soyez débutant ou que vous souhaitiez progresser. En visio, à votre rythme, et toujours avec pédagogie.
Découvrez mes formations Qui suis-je ?Effectuer une première requête SQL
Maintenant que la connexion fonctionne, faisons une requête pour récupérer la première ligne d’une table. Imaginons que votre applications soit faites pour gérer vos étudiants. Nous allons afficher la première ligne de la table students
.
Dans DatabaseTest.php, remplacez index()
par :
public function index()
{
try {
$db = Database::connect();
$query = $db->query("SELECT * FROM students LIMIT 1");
$row = $query->getRow();
if ($row) {
return "<pre>" . print_r($row, true) . "</pre>";
} else {
return "Aucune donnée trouvée.";
}
} catch (\Exception $e) {
return "Erreur : " . $e->getMessage();
}
}
Accédez à http://localhost:8080/test-db
et vous devriez voir les données du premier étudiant.
Utiliser le modèle CodeIgniter pour interagir avec la base
Pour une meilleure organisation, utilisez un Modèle au lieu d’exécuter des requêtes SQL directement dans le contrôleur.
Créer un modèle StudentModel.php
Dans app/Models/
, créez un fichier StudentModel.php et ajoutez :
<?php
namespace App\Models;
use CodeIgniter\Model;
class StudentModel extends Model
{
protected $table = 'students';
protected $primaryKey = 'id';
protected $allowedFields = ['first_name', 'age', 'city'];
}
Modifier le contrôleur pour utiliser le modèle
Dans DatabaseTest.php
, ajoutez en haut :
use App\Models\StudentModel;
Puis, remplacez index()
par :
public function index()
{
$studentModel = new StudentModel();
$student = $studentModel->first(); // Récupère le premier étudiant
if ($student) {
return "<pre>" . print_r($student, true) . "</pre>";
} else {
return "Aucun étudiant trouvé.";
}
}
Ainsi, CodeIgniter génère la requête SQL automatiquement ! ✅

Conclusion
Nous avons vu comment se connecter à une base de données avec CodeIgniter 4, tester la connexion et effectuer une première requête SQL avec et sans modèle.
Résumé des étapes :
✔️ Configurer .env
avec les bonnes informations
✔️ Tester la connexion avec un contrôleur
✔️ Effectuer une requête SQL
✔️ Utiliser un modèle pour une meilleure gestion
Avec ces bases, vous êtes prêt à interagir avec une base de données dans CodeIgniter 4 !
Apprenez également à créer une page avec CodeIgniter 4.
- 🔥 Vendredi 25 Avril 2025 >19h00
HTML & SémantiqueStructure d'une page HTML