PHP-Programmierung

Datenbank abfragen

 aufwärts

Datenbank­verbindung herstellen

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 Verbindungs­daten 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 Variablen­namen 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 Fehler­meldungen Gebrauch gemacht worden.

Das @-Zeichen vor einem Funktions­aufruf dient dazu, mögliche Meldungen der Funktion zu unterdrücken.

In den beiden Zeilen werden die Rückgabe­werte der Funktions­aufrufe jeweils mit or verknüpft. Diese Konstruktion hat folgende Auswirkung: Wenn der erste Funktions­aufruf erfolgreich ist und einen Rückgabewert liefert, der true entspricht, wird der der zweite Funktions­aufruf gar nicht mehr ausgeführt; es steht dann nämlich schon fest, dass der Or-Ausdruck den Wert true ergibt. Nur wenn der erste Funktions­aufruf fehlschlägt und einen Rückgabewert liefert, der false entspricht, wird der zweite Funktions­aufruf ausgeführt. Dann wird mit sqlExit das PHP-Programm abgebrochen und die ent­sprechende Fehler­meldung ausgegeben.

Die Funktion sqlExit dient dazu, bei fehlerhaften SQL-Kommandos eine Fehler­meldung auszugeben und das Programm abzubrechen. Die Funktion sqlQuery fasst die Abfrage-Funktion mysqli_query und die Funktion sqlExit zusammen.

Ergebnis einer SQL-Anfrage darstellen

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):

500101Meier
500102Schmidt
500103Lehmann
500104Meier
Bild 1: Ergebnis einer SQL-Anfrage

 

 

up

 

homeH.W. Lang   Hochschule Flensburg   lang@hs-flensburg.de   Impressum   Datenschutz   ©   Created: 12.07.2006   Updated: 12.05.2020
Valid HTML 4.01 Transitional

Hochschule Flensburg
Campus Flensburg

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:

Medieninformatik

Wirtschaftsinformatik