PHP-ProgrammierungDatenbank abfragen | |
Speichern Sie das folgende PHP-Programm in einer Datei mit dem Namen ini.db.php im Verzeichnis C:/xampp/htdocs. Ändern Sie im Programm gegebenenfalls vorher noch unter den Verbindungsdaten Ihren Usernamen und Ihr Passwort. Tragen Sie unter <database> den Namen Ihrer Datenbank ein.
| ini.db.php |
<?php // Verbindungsdaten $serv="localhost"; $user="root"; $pass=""; $base="<database>"; // Einstellung: SQL-Fehlermeldungen anzeigen $showsqlerrors=true; // Verbindung herstellen $mysql=@mysqli_connect($serv, $user, $pass, $base) or sqlExit("Fehler bei Verbindung zur Datenbank: $serv $user $pass $base<br/>"); // Ausgabe einer Fehlermeldung und Abbruch function sqlExit($sql) { global $showsqlerrors, $mysql; if ($showsqlerrors) echo "Fehler in SQL-Kommando: $sql<br/>".@mysqli_error($mysql)."<br/>"; exit(); } // Ausführung des SQL-Kommandos $sql // Abbruch, falls SQL-Kommando fehlerhaft function sqlQuery($sql) { global $mysql; $result=mysqli_query($mysql, $sql) or sqlExit($sql); return $result; } ?> |
In PHP beginnen alle Variablennamen mit dem $-Zeichen. Hierdurch ist es möglich, Variablen innerhalb von Strings als Platzhalter für ihren Wert zu verwenden. Hiervon ist in obigem PHP-Programm bei den Fehlermeldungen Gebrauch gemacht worden.
Das @-Zeichen vor einem Funktionsaufruf dient dazu, mögliche Meldungen der Funktion zu unterdrücken.
In den beiden Zeilen werden die Rückgabewerte der Funktionsaufrufe jeweils mit or verknüpft. Diese Konstruktion hat folgende Auswirkung: Wenn der erste Funktionsaufruf erfolgreich ist und einen Rückgabewert liefert, der true entspricht, wird der der zweite Funktionsaufruf gar nicht mehr ausgeführt; es steht dann nämlich schon fest, dass der Or-Ausdruck den Wert true ergibt. Nur wenn der erste Funktionsaufruf fehlschlägt und einen Rückgabewert liefert, der false entspricht, wird der zweite Funktionsaufruf ausgeführt. Dann wird mit sqlExit das PHP-Programm abgebrochen und die entsprechende Fehlermeldung ausgegeben.
Die Funktion sqlExit dient dazu, bei fehlerhaften SQL-Kommandos eine Fehlermeldung auszugeben und das Programm abzubrechen. Die Funktion sqlQuery fasst die Abfrage-Funktion mysqli_query und die Funktion sqlExit zusammen.
Angenommen, Sie haben in Ihrer Datenbank eine Tabelle stud mit den Attributen matrnr, nachname, vorname und gebdat.
Das folgende PHP-Programm tabelle-darstellen.php stellt das Ergebnis einer SQL-Anfrage in Form einer Tabelle auf dem Bildschirm dar.
| tabelle-darstellen.php |
<html> <head> <title>Tabelle darstellen</title> </head> <body> <?php // Verbindung zur Datenbank herstellen require_once "ini.db.php"; // SQL-Anfrage: Ergebnis ist stets eine Tabelle $sql="SELECT matrnr, nachname FROM stud"; // Anfrage ausführen $result=sqlQuery($sql); // Tabelle in HTML darstellen echo "<table border=\"1\">\n"; while ($row=mysqli_fetch_row($result)) { echo "<tr>"; foreach ($row as $item) // jedes Element $item der Zeile $row durchlaufen echo "<td>$item</td>"; echo "</tr>\n"; } echo "</table>\n"; ?> </body> </html> |
Mit require_once wird das PHP-Programm ini.db.php eingebunden. Dann wird eine SQL-Anfrage formuliert und in einer Variablen $sql festgehalten. Mit sqlQuery wird diese Anfrage ausgeführt; das Ergebnis ist eine Tabelle, die anschließend in dem Objekt $result zur Verfügung steht. Mit mysqli_fetch_row werden dann die einzelnen Zeilen dieser Tabelle der Reihe nach abgerufen. Jede Zeile ist ein Array, auf dessen Einträge per Index zugegriffen wird. Mit der Anweisung echo wird ein Text in den HTML-Body eingefügt.
Das Ergebnis der Anfrage wird wie folgt (oder ähnlich, je nach dem, welche Einträge Ihre Tabelle stud enthält) auf dem Bildschirm dargestellt (Bild 1):
| ||||||||
| Bild 1: Ergebnis einer SQL-Anfrage | ||||||||
![]() |
|
|
Informatik in Flensburg studieren...
Neu gestaltetes Studienangebot:
Bachelor-Studiengang
Angewandte Informatik
mit Schwerpunkten auf den Themen Software, Web, Mobile, Security und Usability.
Ihr Abschluss
nach 7 Semestern:
Bachelor of Science
Master-Studiengang
Angewandte Informatik
Ein projektorientiertes Studium auf höchstem Niveau mit den Schwerpunkten Internet-Sicherheit, Mobile Computing und Human-Computer Interaction.
Ihr Abschluss
nach 3 Semestern:
Master of Science
Weitere Informatik-Studienangebote an der Hochschule Flensburg: