Wie wird in PHP eine Verbindung zu einer MySQL-Datenbank hergestellt?

In PHP bestehen die folgenden Erweiterungen, um eine Verbindung zu einer MySQL-Datenbank herzustellen:

Während der Erstellung einer Verbindung zu einer MySQL-Datenbank geschieht folgendes:

In PHP eine Verbindung zu MySQL-Datenbank herstellen

Wie in PHP eine Verbindung zu MySQL-Datenbank herstellen? Das werde ich nun in allen Einzelheiten erklären:

1. In PHP eine Verbindung zu MySQL-Datenbank herstellen

$mysqli = new mysqli();
$mysqli->connect("localhost", "root", "Kennwort", "kursverwaltung", Port);

Die 4 Parameter von connect sind:

1.1. Fehler bei der Verbindung zur MySQL-Datenbank aufgetreten?

In der Praxis wird übrigens in der Regel direkt auch überprüft, ob der Verbindungsaufbau erfolgreich war. Ist der Verbindungsaufbau gescheitert, wird entsprechend reagiert.

Das könnte zum Beispiel so aussehen:

$mysqli = new mysqli("localhost", "root", "", "kursverwaltung");
if ($mysqli->connect_error) {
  echo "Verbindungsfehler: " . $mysqli->connect_error;
  exit();
}

Die Eigenschaft connect_error hat im Fehlerfall als Wert eine Beschreibung des letzten Verbindungsfehlers. Im Erfolgsfall ist der Wert der Eigenschaft null.
Hier wird überprüft, ob connect_error des Objekts $mysqli einen Wert hat:
Wenn JA, ist das gleichbedeutend mit einem VERBINDUNGSFEHLER. Die Beschreibung des Fehlers würde ausgegeben und das Skript mit exit() beendet werden.

2. Abfrage senden an die MySQL-Datenbank

Nachdem die Verbindung erfolgreich aufgebaut und die Datenbank ausgewählt ist, können im nächsten Schritt die Daten abfragen. SQL-Statements können in PHP mit der Methode query() der Klasse mysqli an das DBMS geschickt werden.

Die formale Syntax von query() lautet in der einfachsten Form:

query (string $query)

Das SQL-Kommando wird vom Typ String als Parameter übergeben. Der Rückgabewert von query() hängt von der Art des SQL-Befehls und vom Erfolg der Ausführung ab. Schlägt die Ausführung des Kommandos fehl, liefert query() immer ‚false‘ zurück. Ist das SQL-Kommando ein SELECT, SHOW, DESCRIBE oder EXPLAIN, liefert die Methode query() im Erfolgsfall ein Objekt vom Typ mysqli_result zurück.

Bei allen anderen SQL-Kommandos (zum Beispiel CREATE, DROP, INSERT, UPDATE etc.) liefert query() nach erfolgreicher Ausführung true zurück.

3. Ergebnis verarbeiten, aufbereiten und ausgeben

Nach dem erfolgreichen Verbindungsaufbau wird mit der Methode query() des mysqli-Objekts das SQL-Kommando an das DBMS gesendet.

if ($ergebnis = $mysqli -> query("SELECT * FROM teilnehmer")) {
  $data = $ergebnis ->fetch_all();
  $ergebnis -> free();
}
print_r($data);

In diesem Fall werden mit dem Kommando „SELECT * FROM teilnehmer“ alle Datensätze in der Tabelle „teilnehmer“ abgefragt.

Der Rückgabewert wird in einer Variablen $ergebnis zugewiesen. Es gibt nun 2 Möglichkeiten:

Da jeder Datensatz in einem eigenen Array gespeichert wird, liefert die Methode fetch_all() das Ergebnis der Abfrage als 2-dimensionales Array zurück.

Das Array wird anschließend der Variablen $data zugewiesen.

Mit dem Kommando print_r($data) wird das gelieferte Array $data ausgegeben.

Danach wird der Speicher mit $ergebnis -> free() wieder freigegeben. Man kann auch $ergebnis -> close() schreiben.

4. Verbindung zur MySQL-Datenbank schließen

Am Ende die Verbindung zur Datenbank schliessen:

$mysqli -> close();