Travailler avec les bases de données en PHP : PostgreSQL et MongoDB pour débutants

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Introduction au travail avec les bases de données en PHP



Le développement web moderne est impensable sans une gestion efficace des données. PHP, en tant que l'un des langages serveur les plus populaires, offre aux développeurs des outils puissants pour interagir avec différents systèmes de gestion de bases de données (SGBD). Dans cet article, nous examinerons deux SGBD fondamentalement différents mais tout aussi demandés : le relationnel PostgreSQL et l'orienté documents MongoDB.



Pour les développeurs débutants, le choix entre SQL et NoSQL peut sembler complexe. Nous analyserons les principales différences, apprendrons à nous connecter aux deux bases de données depuis PHP et à effectuer les opérations CRUD de base (Create, Read, Update, Delete). À la fin de cet article, vous serez en mesure de choisir le SGBD adapté à votre projet et d'écrire un code fonctionnel pour interagir avec lui.



1. PostgreSQL : travailler avec des données relationnelles via PDO



PostgreSQL est un puissant SGBD objet-relationnel open source. Il prend en charge les requêtes complexes, les transactions et les types de données avancés. Pour travailler avec PostgreSQL en PHP, il est recommandé d'utiliser l'extension PDO (PHP Data Objects), qui fournit une interface unifiée pour travailler avec différentes bases de données.



Connexion à PostgreSQL via PDO



La première étape consiste à installer le pilote pdo_pgsql. Assurez-vous qu'il est activé dans votre php.ini. Ensuite, vous pouvez créer une connexion :



<?php$host = 'localhost';$dbname = 'my_database';$user = 'my_user';$password = 'my_password';

try { $pdo = new PDO("pgsql:host=$host;dbname=$dbname", $user, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Connexion à PostgreSQL établie avec succès !";} catch (PDOException $e) { die("Erreur de connexion : " . $e->getMessage());}?>


Opérations CRUD dans PostgreSQL



Examinons le travail avec la table users, contenant les champs id, name et email. Toutes les requêtes sont exécutées via des instructions préparées (prepared statements) pour se protéger contre les injections SQL.



Création d'un enregistrement (Create) :

<?php$sql = "INSERT INTO users (name, email) VALUES (:name, :email)";$stmt = $pdo->prepare($sql);$stmt->execute([':name' => 'Ivan Petrov', ':email' => 'ivan@example.com']);echo "Utilisateur ajouté. ID : " . $pdo->lastInsertId();?>


Lecture des données (Read) :

<?php$sql = "SELECT * FROM users WHERE id = :id";$stmt = $pdo->prepare($sql);$stmt->execute([':id' => 1]);$user = $stmt->fetch(PDO::FETCH_ASSOC);

if ($user) { echo "Nom : " . $user['name'] . ", Email : " . $user['email'];} else { echo "Utilisateur non trouvé.";}?>


Mise à jour (Update) et suppression (Delete) :

<?php// Mise à jour$sql = "UPDATE users SET email = :email WHERE id = :id";$stmt = $pdo->prepare($sql);$stmt->execute([':email' => 'new_email@example.com', ':id' => 1]);echo "Lignes mises à jour : " . $stmt->rowCount();

// Suppression$sql = "DELETE FROM users WHERE id = :id";$stmt = $pdo->prepare($sql);$stmt->execute([':id' => 1]);echo "Lignes supprimées : " . $stmt->rowCount();?>


2. MongoDB : travailler avec des documents via MongoDB PHP Library



MongoDB est une base de données NoSQL qui stocke les données sous forme de documents flexibles de type JSON. Pour travailler avec elle en PHP, on utilise la bibliothèque officielle mongodb/mongodb, installée via Composer.



Installation et connexion à MongoDB



Commencez par installer la bibliothèque via Composer :

composer require mongodb/mongodb


Ensuite, créez une connexion au serveur MongoDB (par défaut, il fonctionne sur le port 27017) :

Blogs

Book Recommendations