logo

Einführung in PHP PDO

PHP ist eine universelle Open-Source-Skriptsprache, die häufig zum Erstellen dynamischer und interaktiver Webseiten verwendet wird. PHP kann auf eine Vielzahl relationaler Datenbankverwaltungssysteme zugreifen, z MYSQL, SQLite , Und PostgreSQL . Der PHP 5.1 Die Version bot eine neue Datenbankverbindungs-Abstraktionsbibliothek PHP-Datenobjekte (PDO).

Was ist PDO?

PDO bezieht sich auf PHP-Datenobjekt , eine PHP-Erweiterung, die eine einfache und konsistente Schnittstelle für den Zugriff auf eine Datenbank in PHP definiert. Es handelt sich um eine Reihe von PHP-Erweiterungen, die eine PDO-Kernklasse und einen datenbankspezifischen Treiber bereitstellen. Jeder Datenbanktreiber kann datenbankspezifische Funktionen als reguläre Erweiterungsfunktion verfügbar machen, die die PDO-Schnittstelle implementiert.

Hinweis: Mit der PDO-Erweiterung selbst können wir keine Datenbankfunktionen ausführen. Um auf einen Datenbankserver zuzugreifen, müssen wir einen datenbankspezifischen PDO-Treiber verwenden.

PDO konzentriert sich hauptsächlich auf die Abstraktion des Datenzugriffs und nicht auf die Abstraktion der Datenbank. Es bietet Abstraktionsschicht für den Datenzugriff , was bedeutet, dass wir unabhängig davon, welche Datenbank wir verwenden, dieselben Funktionen verwenden müssen, die von dieser Datenbank bereitgestellt werden, um Abfragen durchzuführen und Daten abzurufen. PDO bietet keine Datenabstraktion, da es weder SQL neu schreibt noch fehlende Funktionen emuliert.

Vorteil von PDO

PDO bietet verschiedene Möglichkeiten, mit Objekten zu arbeiten und ruft vorbereitete Anweisungen ab, die die Arbeit erheblich erleichtern. Dabei handelt es sich um ein Datenbankzugriffstool in PHP, mit dem wir einen einheitlichen Zugriff über mehrere Datenbanken hinweg ermöglichen.

PDO ermöglicht einen vergleichsweise nahtlosen Wechsel zwischen verschiedenen Datenbanken und Plattformen, was einfach durch Ändern des Verbindungsstrings erfolgen kann. Datenbankspezifische Syntaxen werden nicht unterstützt.

Es gibt einige Vorteile von PDO:

    Datenbankunterstützung
    Die PDO-Erweiterung kann auf jede Datenbank zugreifen, die für PDO-Treiber geschrieben wurde. Es stehen mehrere PDO-Treiber zur Verfügung, die dafür verwendet werden FreeTDS, Microsoft SQL Server, Sybase, IBM DB2, Oracle Call Interface, Firebird/Interbase 6 , Und PostgreSQL Datenbanken und vieles mehr.
    Da die Treiber nicht in jedem System automatisch verfügbar sind, müssen wir unsere verfügbaren Treiber finden und bei Bedarf hinzufügen.Datenbankverbindung
    Für den Aufbau der Datenbankverbindung stehen verschiedene Syntaxen zur Verfügung. Diese Syntaxen hängen von bestimmten Datenbanken ab. Bei der Verwendung von PDO müssen Vorgänge in Try/Catch-Blöcke eingeschlossen werden und die Ausnahmetechnik nutzen.
    Normalerweise muss nur eine einzige Verbindung erstellt werden, und diese Verbindungen werden geschlossen, indem die Datenbank so programmiert wird, dass sie auf Null gesetzt wird.Fehlerbehandlung
    PDO ermöglicht die Verwendung von Ausnahmen zur Fehlerbehandlung. Um eine Ausnahme zu erzeugen, kann PDO in ein relevantes Fehlermodusattribut gezwungen werden.
    Es gibt drei Fehlermodi, nämlich Still (Standard), Warnung , Und Ausnahme . Warnung und Ausnahme sind bei der DRY-Programmierung nützlicher.
      Still- Es handelt sich um einen Standardfehlermodus.Warnung- Es ist nützlich zum Debuggen.Ausnahme– Dieser Modus ermöglicht eine elegante Fehlerbehandlung und verbirgt gleichzeitig Daten, die eine Person zur Ausnutzung Ihres Systems nutzen könnte.
    Einfügen und aktualisieren
    PDO reduziert den häufig verwendeten Vorgang zum Einfügen und Aktualisieren der Datenbank auf einen zweistufigen Prozess, d. h.
    Vorbereiten >> [Binden] >> Ausführen.
    Durch diese Methode können wir die vorbereiteten Anweisungen von PDO voll ausnutzen, die vor böswilligen Angriffen durch SQL-Injection schützen.
    Vorbereitete Anweisungen sind vorkompilierte SQL-Anweisungen, die durch Senden dieser Daten an den Server mehrmals ausgeführt werden können. Diese Daten, die innerhalb des Platzhalters verwendet werden, werden automatisch vor dem SQL-Injection-Angriff geschützt.

Vorteile der Verwendung von PDO

PDO ist der native Datenbanktreiber. Die Verwendung von PDO bietet einige Vorteile, die im Folgenden aufgeführt sind:

    Benutzerfreundlichkeit- Es enthält viele Hilfsfunktionen zur Durchführung automatischer Routinevorgänge.Wiederverwendbarkeit- Es bietet die einheitliche API für den Zugriff auf mehrere Datenbanken.Sicherheit– Es verwendet eine vorbereitete Anweisung, die vor SQL-Injection schützt. Eine vorbereitete Anweisung ist eine vorkompilierte SQL-Anweisung, die die Anweisung der SQL-Anweisung von den Daten trennt.

PDO-Klassen

Es gibt drei PDO-Klassen, die im Folgenden aufgeführt sind:

Java if else-Anweisung
    gU- Es stellt eine Verbindung zwischen PHP und der Datenbank dar.PDOStatement– Es stellt die vorbereitete Anweisung dar und legt nach der Ausführung der Anweisung ein zugehöriges Ergebnis fest.PDOException– Es stellt Fehler dar, die von PDO verursacht wurden.

Von PDO unterstützte Datenbanken

  1. MySQL
  2. PostgreSQL
  3. Orakel
  4. Feuervogel
  5. MS SQL Server
  6. Sybase
  7. Informix
  8. IBM
  9. FreeTDS
  10. SQLite
  11. Kubrid
  12. 4D

Vergleich zwischen PDO und MySQLi

Um mit PHP auf die Datenbank zuzugreifen, haben wir hauptsächlich zwei Möglichkeiten: MySQLi Und gU (PHP-Datenobjekt). MySQLi ist ein natives PHP-Programm, das eine schnellere Leistung bietet, wohingegen die meisten erfahrenen Entwickler die Arbeit mit PDO bevorzugen, da es eine Vielzahl von Datenbanktreibern unterstützt. Es gibt einige unten aufgeführte Unterschiede zwischen PDO und MySQLi, die auf ihren Funktionen basieren.

Merkmale gU MySQLi
DB-Unterstützung 12 verschiedene Fahrer Nur MySQL
Verbindung Einfach Einfach
API OFFEN OOP + Verfahren
Leistung Schnell Schnell
Benannter Parameter Ja NEIN
Objektzuordnung Ja Ja
Gespeicherte Prozedur Ja Ja
Clientseitig vorbereitete Statements Ja NEIN
Sicherheit Sicherer als MySQLi. Sicher, aber nicht mehr als gU.

Was sollte zwischen PDO und MySQLi bevorzugt werden?

Sowohl PDO als auch MySQLi haben ihre eigenen Vorteile:

char zu string
  • Wie wir bereits gesehen haben, funktioniert PDO auf 12 verschiedenen Datenbanksystemen, während MySQL nur mit MySQL-Datenbanken arbeiten kann. Wenn wir also unser Projekt auf eine andere Datenbank umstellen möchten, ist dies mit PDO ganz einfach. In MySQLi müssen wir den gesamten Code neu schreiben.
  • PDO und MySQLi sind beide objektorientiert, MySQLi bietet jedoch auch eine prozedurale API. Beide unterstützen Prepared Statements. Vorbereitete Anweisungen sind wichtig für die Sicherheit von Webanwendungen, da sie vor SQL-Injection schützen.

Erfordernis

Zum Erstellen dieser Erweiterung sind keine externen Bibliotheken erforderlich.

Installationsprozess

Schritt 1: Laden Sie hier den neuesten XAMPP-Server herunter https://www.apachefriends.org/download.html für verschiedene Plattformen wie Windows, Linux und MacOS.

PHPPDO

Hinweis: Hier besprechen wir nur den Installationsprozess für das Windows-Betriebssystem.

Schritt 2: Installieren Sie den XAMPP-Server auf Ihrem System, indem Sie diese Schritte befolgen.

PHPPDO

Schritt 3: Wählen Sie die Komponenten aus, die Sie installieren möchten, und klicken Sie auf die Schaltfläche Weiter.

PHPPDO

Schritt 4: Erstellen Sie den neuen Ordner mit dem Namen xampp an dem Ort, an dem Sie XAMPP installieren möchten.

PHPPDO

Schritt 5: Klicken Sie hier auf Weiter und fahren Sie fort. Von hier aus beginnt die Installation des XAMPP-Servers.

PHPPDO

Schritt 6: XAMPP wurde erfolgreich installiert. Klicken Sie auf die Schaltfläche „Fertig stellen“.

PHPPDO

Schritt 7: Wählen Sie die bevorzugte Sprache aus.

PHPPDO

Schritt 8: Führen Sie von hier aus den Apache-Server und MySQL aus (gemäß dem angegebenen Screenshot).

PHPPDO

Schritt 9: Öffnen Sie nun php.ini von C:/xampp/php/php.ini (wo Sie Ihr XAMPP installiert haben) und kommentieren Sie die Erweiterung aus 'php_pdo_mysql.dll' Und 'php_pdo.dll' (wenn Sie mit einer MySQL-Datenbank arbeiten), oder 'php_pdo_oci.dll' (wenn Sie mit einer Oracle-Datenbank arbeiten). Beginnen Sie nun mit der Arbeit mit der Datenbank. In der oberen Version von PHP 5.1 ist es bereits festgelegt.

Arbeiten mit PDO

Zuerst müssen wir eine Datenbank erstellen, also erstellen Sie hier eine Datenbank mit dem Namen myDB.

PHPPDO

Datenbankverbindung

Für die Interaktion mit der Datenbank ist immer eine Datenbankverbindung erforderlich. Wir müssen also die Kennung für den Zugriff auf die Datenbank kennen, d. h. den Speicherort der Datenbank, den Datenbanknamen, den Benutzernamen und das Passwort.

Erstellen Sie nun das Datenbankverbindungsprogramm mit PDO in einem beliebigen Texteditor wie Notepad oder Notepad++ und speichern Sie es unter dem Namen coonection.php. Führen Sie es auf dem XAMPP-Server mit localhost/80 aus.

Java enthält Teilzeichenfolge

Beispiel

 getMessage(); } ?> 

Ausgabe

Führen Sie es mit der folgenden URL auf dem Server aus localhost/Xampp/pdoexample/connection.php/ oder wo Sie Ihr Programm gespeichert haben.

PHPPDO

Verbindungsfehler behandeln

Bei einem Verbindungsfehler wird ein PDOException-Objekt ausgelöst. Wir können die Ausnahme abfangen, wenn wir die Fehlerbedingung behandeln möchten, oder wir können sie auch einem globalen Ausnahmehandler überlassen, der von eingerichtet werden kann set_Exception_handler() Funktion.

Beispiel

In diesem Beispiel ist dbUser(user-id) falsch, daher wird eine Ausnahme ausgelöst, wie wir in der Ausgabe sehen können.

 setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); Echo 'Successfully connected with myDB database'; } catch(Exception $e){ Echo 'Connection failed' . $e->getMessage(); } ?> 
PHPPDO

Schließen der Datenbankverbindung

 getMessage(); } // this command close the connection. $dbConn = null; ?> 

Ausgabe

PHPPDO