Die Datenbank ist ein sehr wichtiger Bestandteil jeder Webanwendung, um die Daten aus der Anwendung zu speichern und abzurufen. Auf die Datenbank kann in PHP auf verschiedene Weise zugegriffen werden. PDO und MySQLI sind die PHP -Erweiterungen, die mit PHP auf die Datenbanken zugreifen können. Das PDO (PHP -Datenobjekte) wird zuerst in PHP Version 5 eingeführt.1 Um die Verbindung mit der Datenbank herzustellen, um die verschiedenen Arten von Datenbankaufgaben auszuführen. Es bietet eine leichte Schnittstelle zur Zugriff auf die Datenbank über ein PHP -Skript. Die Datenabstraktion der Datenbank wird von PDO nicht bereitgestellt, aber auf die Daten können aus mehreren Datenbanken mithilfe von PDO leichter zugegriffen werden. Die meisten beliebten Datenbanken werden von PDO wie MySQL, SQLite, Oracle, MS SQL Server, PostgreSQL usw. unterstützt. Die Vorteile der Verwendung von PDO, der Unterschied zwischen PDO und MySQLI und der Art, die MySQL -Datenbank mit PDO zu verbinden und auf die MySQL -Datenbank zuzugreifen, werden in diesem Tutorial beschrieben.
Vorteile von PDO
Einige Vorteile der Verwendung von PDO zum Zugriff auf die Datenbanken sind im Folgenden erwähnt:
- In PDO gibt es viele Helferfunktionen, um die verschiedenen Arten von Entwicklungsaufgaben zu automatisieren.
- Es bietet Sicherheit von Hackern, die vorbereitete Aussagen verwenden, während der Zugriff auf die Daten aus der Datenbank zugänglich ist.
- Es enthält bessere Fehlerbehandlungsfunktionen, um die verschiedenen Arten von Fehlern effizienter zu behandeln.
- Auf mehrere Datenbanken können mit der einheitlichen API von PDO zugegriffen werden.
Unterschiede zwischen PDO und MySQLI
Pdo | Mysqli |
Es funktioniert auf objektorientierte Weise. | Es kann sowohl auf objektorientierte als auch in prozeduraler Weise funktionieren. |
Es unterstützt viele Datenbanktreiber. | Es unterstützt nur MySQL. |
Es unterstützt die kundenseitige vorbereitete Erklärung. | Es unterstützt die kundenseitige vorbereitete Erklärung nicht. |
Es ist sicherer als Mysqli. | Es ist weniger sicher als PDO. |
Es unterstützt die benannten Parameter. | Es unterstützt die benannten Parameter nicht. |
Erstellen Sie die MySQL -Datenbank
Führen Sie den folgenden SQL -Befehl aus, um eine Datenbank mit dem Namen “zu erstellen“prüfen”Um die Verwendung von PDO zur Ausführung der verschiedenen Arten von Datenbankaufgaben zu überprüfen:
Datenbanktest erstellen;
Erstellen Sie eine Tabelle
Führen Sie den folgenden SQL -Befehl aus, um eine Tabelle mit dem Namen zu erstellen. “Bücher”Im Inneren“prüfenDatenbank:
Tischbücher erstellen (
ID int (255) Nicht Null Primärschlüssel Auto_increment,
Titel varchar (150) nicht null,
Autor varchar (150) nicht null
) Motor = InnoDB;
Machen Sie eine Datenbankverbindung mit PDO
Erstellen Sie eine PHP -Datei mit dem folgenden Skript, das die Verbindung mit der “herstelltprüfenDatenbank mit PDO:
// Verbindungsvariablen initialisieren
$ hostname = "localhost";
$ database = "test";
$ user = "root";
$ password = "12345";
versuchen
// Datenbankverbindung mit PDO erstellen
$ db_connection = new PDO ("MySQL: host = $ hostname; dbname = $ database", $ user, $ password);
Catch (Ausnahme $ e) $ Anweisung-> Execute ([
// Fehlermeldung drucken
echo "kann nicht mit der Datenbank eine Verbindung herstellen." . $ e-> getMessage ();
?>
Setzen Sie eine Zeile in eine Tabelle ein
Erstellen Sie eine PHP Bücher Tabelle mit einer PDO -Verbindung. Die Datenbankverbindungsdatei ist zu Beginn des Skripts mit der Funktion cascled_once () enthalten. Eine vorbereitete Anweisung zum Einfügen von Abfragen wird erstellt, um einen neuen Datensatz in die Tabelle einzufügen.
// Erstellen Sie eine Datenbankverbindung
include_once 'pdo_connect.PHP ';
// Werte für das Einfügen eines Datensatzes in die Büchertabelle festlegen
$ title = 'Die Freude am PHP -Programm: Ein Anfängerführer';
$ author = 'Alan Forbes';
// Stellen Sie die Abfrage ein
$ query = 'In Bücher (ID, Titel, Autor) Werte (: id,: title,: Autor)' einfügen;
// Vorbereitete Anweisung erstellen
$ Anweisung = $ db_connection-> vorbereiten ($ query);
// Führen Sie die Abfrage ein
$ Anweisung-> Execute ([
': id' => null,
': title' => $ title,
': Autor' => $ Autor
]);
echo 'ein Datensatz wird erfolgreich eingefügt';
?>
Ausgang:
Die folgende Ausgabe wird nach der Ausführung des vorherigen Skripts angezeigt, wenn ein neuer Datensatz erfolgreich eingefügt wird:
Wählen Sie eine Daten aus einer Tabelle aus
Erstellen Sie eine PHP Bücher Tabelle mit einer PDO -Verbindung. Die Datenbankverbindungsdatei ist zu Beginn des Skripts mit der Funktion cascled_once () enthalten. Eine vorbereitete Anweisung für eine ausgewählte Abfrage wird erstellt, um alle Datensätze aus der Tabelle zu lesen.
// Erstellen Sie eine Datenbankverbindung
include_once 'pdo_connect.PHP ';
// Abfrage einstellen, um alle Datensätze zu lesen
$ query = 'select * aus Büchern';
// Vorbereitete Anweisung erstellen
$ Anweisung = $ db_connection-> Abfrage ($ Query);
// Lesen Sie alle Datensätze aus der Büchertabelle
$ books = $ Anweisung-> Fetchall (pdo :: fetch_assoc);
if ($ books)
// jeden Datensatz aus der Tabelle iterieren und drucken
foreach ($ books as $ book)
Echo "
Buchname: ".$ book ['title'] . "
";
Echo "
Autorenname: ".$ book ['Autor'] . "
";
Ausgang:
Die folgende Ausgabe wird nach der Ausführung des vorherigen Skripts angezeigt, wenn die Tabelle einen Datensatz enthält:
Aktualisieren Sie eine Daten aus der Tabelle
Erstellen Sie eine PHP -Datei mit dem folgenden Skript, das einen Datensatz der aktualisiert Bücher Tabelle mit einer PDO -Verbindung. Die Datenbankverbindungsdatei ist zu Beginn des Skripts mit der Funktion cascled_once () enthalten. Eine vorbereitete Anweisung für eine Update -Abfrage wird erstellt, um einen Datensatz der Büchertabelle zu aktualisieren, der den ID -Wert von 1 enthält.
// Erstellen Sie eine Datenbankverbindung
include_once 'pdo_connect.PHP ';
// Setzen Sie neue Werte für aktualisiert
$ book = [
'id' => 1,
'title' => 'php & mysql novice zu ninja' ',
'Autor' => 'Kevin Yank'
];
// Setzen Sie die Update -Abfrage
$ query = "Bücher aktualisieren
Setzen Sie Titel =: Titel, Autor =: Autor
Wobei id =: id ";
// Vorbereitete Anweisung erstellen
$ Anweisung = $ db_connection-> vorbereiten ($ query);
// Parameter für die vorbereitete Anweisung binden
$ Anweisung-> BindParam (': id', $ book ['id'], pdo :: param_int);
$ Erklärung-> Bindparam (': title', $ book ['title']);
$ Erklärung-> BindParam (': Autor', $ book ['Autor']);
// Führen Sie die Update -Abfrage aus
if ($ Anweisung-> execute ())
Echo 'Die Buchinformationen wurden aktualisiert.';
Ausgang:
Die folgende Ausgabe wird nach der Ausführung des vorherigen Skripts angezeigt, wenn der Datensatz der Tabelle erfolgreich aktualisiert wird:
Löschen Sie eine Zeile aus der Tabelle
Erstellen Sie eine PHP -Datei mit dem folgenden Skript, das einen Datensatz des Bücher Tabelle mit einer PDO -Verbindung. Die Datenbankverbindungsdatei ist zu Beginn des Skripts mit der Funktion cascled_once () enthalten. Eine vorbereitete Anweisung für die Löschabfrage wird erstellt, um einen Datensatz der Büchertabelle zu löschen, die den ID -Wert von 1 enthält.
// Erstellen Sie eine Datenbankverbindung
include_once 'pdo_connect.PHP ';
// Abfrage zum Löschen festlegen
$ query = 'aus Büchern löschen wobei id =: id';
$ id = 1;
// Vorbereitungsanweisung festlegen
$ Anweisung = $ db_connection-> vorbereiten ($ query);
$ Anweisung-> BindParam (': id', $ id, pdo :: param_int);
// Führen Sie die Löschabfrage aus
if ($ Anweisung-> execute ())
Echo 'ein Rekord wurde gelöscht.';
Ausgang:
Die folgende Ausgabe erscheint nach der Ausführung des vorherigen Skripts, wenn der Datensatz der Tabelle erfolgreich gelöscht wird:
Abschluss
Verschiedene Merkmale von PDO und die Art und Weise, PDO zum Herstellen von Datenbankverbindungen und die Implementierung des CRUD -Vorgangs zu verwenden, werden in diesem Tutorial angezeigt, indem die MySQL -Datenbank mit einer Tabelle erstellt wird.