PHP Verbindung mit MySQL herstellen
Für PHP 5 und höher wird empfohlen, die folgenden Methoden zur Verbindung mit MySQL zu verwenden:
- MySQLi-Erweiterung("i" steht für "improved")
- PDO (PHP Data Objects)
In früheren Versionen von PHP haben wir die MySQL-Erweiterung verwendet. Diese Erweiterung ist jedoch seit 2012 veraltet.
Sollte ich MySQLi oder PDO verwenden?
Wenn Sie eine kurze Antwort benötigen, lautet sie: "Verwenden Sie die, mit der Sie vertraut sind."
MySQLi und PDO haben ihre eigenen Vorteile:
PDO funktioniert mit 12 verschiedenen Datenbanken, während MySQLi nur für MySQL-Datenbanken geeignet ist.
Wenn Ihr Projekt also zwischen mehreren Datenbanken wechseln muss, wird empfohlen, PDO zu verwenden, sodass Sie nur die Verbindungszeichenfolge und einige Abfrageanweisungen ändern müssen. Bei MySQLi müssen Sie, wenn Sie die Datenbank wechseln, den gesamten Code neu schreiben, einschließlich der Abfragen.
Beide sind objektorientiert, aber MySQLi bietet auch eine API-Schnittstelle.
Beide unterstützen Prepared Statements. Prepared Statements können SQL-Injection verhindern und sind sehr wichtig für die Sicherheit von Webprojekten.
Beispiele für MySQLi- und PDO-Verbindungen zu MySQL
In diesem Kapitel und in den folgenden Kapiteln verwenden wir die folgenden drei Methoden, um zu demonstrieren, wie PHP MySQL bedient:
- MySQLi (objektorientiert)
- MySQLi (prozedural)
- PDO
MySQLi-Installation
Linux und Windows: Die MySQLi-Erweiterung wird in den meisten Fällen automatisch installiert, wenn das Paket php5 mysql installiert ist.
Einzelheiten zur Installation finden Sie unter: http://php.net/manual/en/mysqli.installation.php
Sie können über phpinfo() prüfen, ob die Installation erfolgreich war:

PDO-Installation
Einzelheiten zur Installation finden Sie unter: http://php.net/manual/en/pdo.installation.php
Sie können über phpinfo() prüfen, ob die Installation erfolgreich war:

Verbindung zu MySQL
Bevor wir auf die MySQL-Datenbank zugreifen, müssen wir uns zuerst mit dem Datenbankserver verbinden:
Beispiel (MySQLi - objektorientiert)
![]() |
Beachten Sie, dass im obigen objektorientierten Beispiel $connect_error in PHP 5.2.9 und 5.3.0 hinzugefügt wurde. Wenn Sie mit früheren Versionen kompatibel sein müssen, ersetzen Sie es bitte durch den folgenden Code: // Verbindung prüfen if (mysqli_connect_error()) { die("Datenbankverbindung fehlgeschlagen: " . mysqli_connect_error()); } |
|---|
Beispiel (MySQLi - prozedural)
Beispiel (PDO)
![]() |
Beachten Sie, dass wir im obigen PDO-Beispiel bereits die Datenbank (myDB) angegeben haben. PDO muss den Datenbanknamen während des Verbindungsvorgangs festlegen. Wenn er nicht angegeben wird, wird eine Ausnahme ausgelöst. |
|---|
Schließen der Verbindung
Die Verbindung wird automatisch geschlossen, nachdem die Ausführung des Skripts beendet ist. Sie können auch den folgenden Code verwenden, um die Verbindung zu schließen:
