PHP MySQL-Verbindung

PHP 5 oder höher und empfiehlt die folgenden Möglichkeiten, MySQL zu verbinden:

  • MySQLi Erweiterung ( "i" bedeutet , verbessert)
  • PDO (PHP Data Objects)

In früheren Versionen von PHP, verwenden wir MySQL-Erweiterung. Jedoch ist die Expansion in 2012 nicht empfohlen.


Ich verwende den MySQLi oder PDO?

Wenn Sie eine kurze Antwort benötigen, das heißt, "was Sie verwenden verwendet, welche."

MySQLi und PDO haben ihre eigenen Vorteile:

PDO-Anwendungen in 12 verschiedenen Datenbanken, MySQLi nur für die MySQL-Datenbank.

Also, wenn Sie das Projekt in einer Vielzahl von Datenbanken umschalten müssen, wird empfohlen, PDO zu verwenden, so dass Sie nur die Verbindungszeichenfolge ändern müssen und können Abteilungen abfragen. Verwenden Sie MySQLi, wenn eine andere Datenbank, müssen Sie den gesamten Code neu zu schreiben, einschließlich Abfragen.

Beide sind objektorientiert, sondern bietet auch eine MySQLi API-Schnittstelle.

Beide unterstützen vorbereitete Anweisungen. Vorbereitete Anweisungen SQL-Injection zu verhindern, für die Sicherheit von Web-Projekten sehr wichtig ist.


MySQLi und PDO-Verbindung MySQL-Instanz

In diesem und im nächsten Kapitel Kapitel werden wir die folgenden drei Möglichkeiten nutzen, um PHP-MySQL demonstrieren betreiben:

  • MySQLi (objektorientiert)
  • MySQLi (prozessorientiert)
  • PDO

MySQLi Installation

Linux und Windows: Wenn MySQLi Erweiterung php5 mysql-Paket wird in den meisten Fällen installiert wird automatisch installiert.

Die Installation Weitere Informationen finden Sie unter: http://php.net/manual/en/mysqli.installation.php

Durch phpinfo (), um zu sehen, ob die Installation erfolgreich war:


PDO-Installation

Details zur Installation finden Sie unter: http://php.net/manual/en/pdo.installation.php

Durch phpinfo (), um zu sehen, ob die Installation erfolgreich war:


MySQL-Verbindung

Bevor wir die MySQL-Datenbank besuchen, müssen wir auf die Datenbank-Server zu verbinden:

Beispiele (MySQLi - Object Oriented)

<? Php
$ Servername = "localhost";
$ Username = "username";
$ Password = "Passwort";

// Verbindung erstellen
$ Conn = new mysqli ($ Servername, $ username, $ password);

// Test-Verbindung
if ($ conn-> connect_error) {
die ( "Verbindung fehlgeschlagen:" $ conn-> connect_error.);
}
echo "erfolgreich verbunden";
?>

Note Beachten Sie, dass in dem obigen Beispiel objektorientierte $ connect_error in PHP 5.2.9 und 5.3.0 werden hinzugefügt. Wenn Sie die Kompatibilität mit früheren Versionen benötigen, verwenden Sie bitte den folgenden Code zu ersetzen:

// Test-Verbindung
if (mysqli_connect_error ()) {
die ( "Datenbank-Verbindung fehlgeschlagen:" mysqli_connect_error ().);
}

Beispiele (MySQLi - prozessorientiert)

<? Php
$ Servername = "localhost";
$ Username = "username";
$ Password = "Passwort";

// Verbindung erstellen
$ Conn = mysqli_connect ($ Servername, $ username, $ password);

// Test-Verbindung
if (! $ conn) {
die ( "Verbindung fehlgeschlagen:" mysqli_connect_error ().);
}
echo "erfolgreich verbunden";
?>


Beispiele für (PDO)

<? Php
$ Servername = "localhost";
$ Username = "username";
$ Password = "Passwort";

try {
$ Conn = new PDO ( "mysql: host = $ servername; dbname = myDB", $ username, $ password);
echo "erfolgreich verbunden";
}
catch (PDOException $ e)
{
$ E-> getMessage () echo;
}
?>

Note Beachten Sie, dass in dem obigen Beispiel wir die PDO-Datenbank angegeben haben (myDB). PDO während der Verbindung müssen Sie den Namen der Datenbank einzustellen. Wenn nicht angegeben, wird eine Ausnahme ausgelöst.


Enge Verbindung

Die Verbindung wird automatisch geschlossen, nach der Ausführung des Skripts. Sie können auch den folgenden Code verwenden, um die Verbindung zu schließen:

Beispiele (MySQLi - Object Oriented)

$ Conn-> close ();


Beispiele (MySQLi - prozessorientiert)

mysqli_close ($ conn);


Beispiele für (PDO)

$ Conn = null;