Arbeit mit Datenbanken in PHP: PostgreSQL und MongoDB für Anfänger

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einführung in die Arbeit mit Datenbanken in PHP



Moderne Webentwicklung ist ohne effizientes Datenmanagement undenkbar. PHP, als eine der beliebtesten serverseitigen Sprachen, bietet Entwicklern leistungsstarke Werkzeuge für die Interaktion mit verschiedenen Datenbankmanagementsystemen (DBMS). In diesem Artikel betrachten wir zwei grundlegend unterschiedliche, aber gleichermaßen gefragte DBMS: das relationale PostgreSQL und das dokumentenorientierte MongoDB.



Für Anfänger kann die Wahl zwischen SQL und NoSQL kompliziert erscheinen. Wir werden die wichtigsten Unterschiede erläutern, lernen, wie man von PHP aus eine Verbindung zu beiden Datenbanken herstellt und grundlegende CRUD-Operationen (Create, Read, Update, Delete) durchführt. Am Ende dieses Artikels können Sie selbstständig das passende DBMS für Ihr Projekt auswählen und funktionierenden Code für die Interaktion damit schreiben.



1. PostgreSQL: Arbeiten mit relationalen Daten über PDO



PostgreSQL ist ein leistungsstarkes, objektrelationales Open-Source-DBMS. Es unterstützt komplexe Abfragen, Transaktionen und erweiterte Datentypen. Für die Arbeit mit PostgreSQL in PHP wird die Erweiterung PDO (PHP Data Objects) empfohlen, die eine einheitliche Schnittstelle für die Arbeit mit verschiedenen Datenbanken bietet.



Verbindung zu PostgreSQL über PDO herstellen



Der erste Schritt ist die Installation des Treibers pdo_pgsql. Stellen Sie sicher, dass er in Ihrer php.ini aktiviert ist. Danach können Sie eine Verbindung herstellen:



<?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 "Verbindung zu PostgreSQL erfolgreich hergestellt!";} catch (PDOException $e) { die("Verbindungsfehler: " . $e->getMessage());}?>


CRUD-Operationen in PostgreSQL



Betrachten wir die Arbeit mit der Tabelle users, die die Felder id, name und email enthält. Alle Abfragen werden über vorbereitete Anweisungen (prepared statements) ausgeführt, um sich vor SQL-Injection zu schützen.



Datensatz erstellen (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 "Benutzer hinzugefügt. ID: " . $pdo->lastInsertId();?>


Daten lesen (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 "Name: " . $user['name'] . ", Email: " . $user['email'];} else { echo "Benutzer nicht gefunden.";}?>


Aktualisieren (Update) und Löschen (Delete):

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

// Löschen$sql = "DELETE FROM users WHERE id = :id";$stmt = $pdo->prepare($sql);$stmt->execute([':id' => 1]);echo "Gelöschte Zeilen: " . $stmt->rowCount();?>


2. MongoDB: Arbeiten mit Dokumenten über die MongoDB PHP Library



MongoDB ist eine NoSQL-Datenbank, die Daten in Form von flexiblen JSON-ähnlichen Dokumenten speichert. Für die Arbeit damit in PHP wird die offizielle Bibliothek mongodb/mongodb verwendet, die über Composer installiert wird.



Installation und Verbindung zu MongoDB



Installieren Sie zuerst die Bibliothek über Composer:

composer require mongodb/mongodb


Stellen Sie danach eine Verbindung zum MongoDB-Server her (standardmäßig läuft er auf Port 27017):

Blogs

Buchempfehlungen