Navigation überspringen

Datenbankanbindung

Benötigtes Vorwissen

Wir verwenden ausschließlich den prozeduralen Ansatz der Datenbankanbindung mit PHP.

PHP stellt zwei populäre Datenbankschnittstellen zur Verfügung, die in der PHP-language enthalten sind:

  1. PHP Data Objects (PDO)
  2. MySQL Improved Extension (mysqli)

PDO

  • Objektorientierter Ansatz
  • Wird in diesem Kurs nicht verwendet!

mysqli

  • Weiterentwicklung von mysql-PHP-language
  • objektorientierter und prozeduraler Ansatz einsetzbar
  • Wird in diesem Kurs ausschließlich verwendet!

mysqli prozedural

Die Syntax von PHP-mysqli ist wirklich sehr einfach...

Zuerst die Datenbankverbindung herstellen

$dbVerbindung = mysqli_connect("host","user","passwd","databaseToUse") or die("FEHLER: " . mysqli_error());
// ...

Nach bestehender Verbindung können die Statements wie folgt an den MySQL- oder MariaDB-Server gesendet werden...

$dbAbfrage="SELECT * FROM dbTest;";
$result = mysqli_query($dbVerbindung, $dbAbfrage) or die("FEHLER: " . mysqli_error());
// ...  

Errorhandlich mit mysqli: OR DIE()

In den obigen Beispielen sieht man eine Möglichkeit, mit Fehlermeldungen des MySQL-Servers umzugehen. wird mit mysqli_query eine Anfrage an den Server geschickt, wird im Falle eines MySQL-Fehlers nur dann ein PHP-Scriptfehler daraus, wenn mit dem Statement OR DIE(...) dies ausdrücklich verlangt wird. Oben wird der zurückgegebene Fehler als Bildschirmausgabe weiterverarbeitet. Das Statement OR Die() sorgt allerdings dafür, dass die Verarbeitung des PHP-Scripts sorfort abgebrochen wird und der der Cache an die Browserausgabe gesendet wird. Im Webdesign ist eine solche Fehlerkontrolle nicht immer wünschenswert, da...

  1. aufgrund der Fehlermeldung des MySQL-Servers Rückschlüsse auf die Datenbankstruktur möglich sind.
  2. die gesamte Webseite nicht mehr fu nktionsfähig ist...