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

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 : Pourquoi un développeur PHP doit savoir travailler avec différentes bases de données

Le développement web moderne passe rarement sans interaction avec des bases de données. PHP, en tant que l'un des langages serveur les plus populaires, offre des outils flexibles pour travailler avec des systèmes relationnels (SQL) ainsi qu'avec des systèmes orientés documents (NoSQL). Dans cet article, nous allons détailler la connexion et l'exécution des opérations de base avec deux bases de données populaires : PostgreSQL et MongoDB. Vous apprendrez à configurer la connexion, à exécuter des requêtes et à traiter les résultats en utilisant les pratiques modernes de PHP.



1. Travailler avec PostgreSQL en PHP via PDO

PostgreSQL est un puissant SGBD objet-relationnel. Pour travailler avec lui en PHP, il est recommandé d'utiliser l'extension PDO (PHP Data Objects), qui fournit une interface unifiée pour différentes bases de données et améliore la sécurité grâce aux requêtes préparées.



1.1 Connexion à la base de données

Pour commencer, assurez-vous que l'extension pdo_pgsql est activée dans votre php.ini. Exemple de connexion :

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

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


1.2 Exécution des requêtes (CRUD)

Examinons les opérations de base avec l'exemple de la table users.

Création d'un enregistrement (INSERT) :

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


Lecture des données (SELECT) :

<?php$stmt = $pdo->query("SELECT id, name, email FROM users");while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {    echo "ID : {$row['id']}, Nom : {$row['name']}, Email : {$row['email']}<br>";}?>


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' => 'newemail@example.com', ':id' => 1]);

// Suppression$sql = "DELETE FROM users WHERE id = :id";$stmt = $pdo->prepare($sql);$stmt->execute([':id' => 1]);?>


2. Travailler avec MongoDB en PHP

MongoDB est une base de données NoSQL de premier plan, stockant les données sous forme de documents de type JSON. Pour travailler avec elle en PHP, on utilise l'extension officielle mongodb et la bibliothèque MongoDB PHP Library (installée via Composer).



2.1 Installation et connexion

Installez la bibliothèque via Composer :

composer require mongodb/mongodb

Exemple de connexion à un serveur MongoDB local :

<?phprequire 'vendor/autoload.php';

$client = new MongoDB\\Client("mongodb://localhost:27017");$database = $client->selectDatabase('my_database');$collection = $database->selectCollection('users');echo "Connexion à MongoDB établie";?>


2.3 Opérations CRUD avec les documents

Insertion d'un document (INSERT) :

<?php$insertResult = $collection->insertOne([    'name' => 'Мария Петрова',    'email' => 'maria@example.com',    'age' => 28]);echo "Document ajouté avec l'ID : " . $insertResult->getInsertedId();?>


Recherche de documents (SELECT) :

<?php$cursor = $collection->find(['age' => ['$gte' => 25]]);                

Blogs

Book Recommendations