Für PHP 5 und höher wird empfohlen, die folgende Methode zum Herstellen einer Verbindung zu MySQL zu verwenden:
MySQLi-Erweiterung („i“ bedeutet verbessert)
PDO (PHP-Datenobjekte)
In früheren PHP-Versionen haben wir die MySQL-Erweiterung verwendet. Diese Erweiterung ist jedoch seit 2012 veraltet.
Wenn Sie eine kurze Antwort benötigen: „Verwenden Sie das, was Ihnen gefällt“.
MySQLi und PDO haben ihre eigenen Vorteile:
PDO wird in 12 verschiedenen Datenbanken verwendet und MySQLi zielt nur auf MySQL-Datenbanken ab.
Wenn Ihr Projekt daher zwischen mehreren Datenbanken wechseln muss, wird die Verwendung von PDO empfohlen, sodass Sie nur die Verbindungszeichenfolge und einige Abfrageanweisungen ändern müssen. Wenn Sie bei MySQLi eine andere Datenbank verwenden, müssen Sie den gesamten Code, einschließlich der Abfragen, neu schreiben.
Beide sind objektorientiert, MySQLi bietet jedoch auch eine API-Schnittstelle.
Beide unterstützen vorbereitete Aussagen. Vorbereitete Anweisungen können SQL-Injection verhindern und sind für die Sicherheit von Webprojekten sehr wichtig.
In diesem und den folgenden Kapiteln werden wir die folgenden drei Methoden verwenden, um den Betrieb von PHP mit MySQL zu demonstrieren:
MySQLi (objektorientiert)
MySQLi (prozedurorientiert)
gU
Linux und Windows: In den meisten Fällen wird die MySQLi-Erweiterung automatisch installiert, wenn das PHP5-MySQL-Paket installiert wird.
Einzelheiten zur Installation finden Sie unter: http://php.net/manual/en/mysqli.installation.php
Sie können über phpinfo() überprüfen, ob die Installation erfolgreich war:
Einzelheiten zur Installation finden Sie unter: http://php.net/manual/en/pdo.installation.php
Sie können über phpinfo() überprüfen, ob die Installation erfolgreich war:
Bevor wir auf die MySQL-Datenbank zugreifen, müssen wir eine Verbindung zum Datenbankserver herstellen:
Beachten Sie, dass $connect_error im obigen objektorientierten Beispiel in PHP 5.2.9 und 5.3.0 hinzugefügt wurde. Wenn Sie Kompatibilität mit früheren Versionen benötigen, verwenden Sie zum Ersetzen bitte den folgenden Code: // Verbindung prüfen if (mysqli_connect_error()) { die("Datenbankverbindung fehlgeschlagen: " . mysqli_connect_error());} |
Beachten Sie, dass wir im obigen PDO-Beispiel die Datenbank (myDB) angegeben haben. PDO muss den Datenbanknamen während des Verbindungsprozesses festlegen. Wenn nicht angegeben, wird eine Ausnahme ausgelöst. |
Die Verbindung wird automatisch geschlossen, nachdem das Skript ausgeführt wurde. Sie können die Verbindung auch mit dem folgenden Code schließen: