Webseiten mit PHP und MySQL

SQL-Anfragen ausprobieren

 aufwärts

Es geht darum, eine Webseite zum Ausprobieren von SQL-Kommandos zu erstellen, ähnlich wie https://www.inf.hs-flensburg.de/db/. Genauer gesagt besteht die Webseite aus zwei PHP-Dateien, eine für das Eingabeformular und eine zweite für die Ausgabe des Ergebnisses.

SQL-Kommando eingeben

Das folgende PHP-Programm sql-anfrage.php erzeugt ein Formular, in das Sie SQL-Anfragen eingeben können. Wenn Sie das Formular abschicken, wird die PHP-Datei tabelle-darstellen-2.php aufgerufen (siehe weiter unten). Dort wird die SQL-Anfrage in der Datenbank, die Sie in der Datei ini.db.php angegeben haben, ausgeführt und das ent­sprechende Ergebnis dargestellt.

In einer Session-Variablen sql wird jeweils die letzte SQL-Anfrage gespeichert.

 

sql-anfrage.php
<?php
    session_start();
?>
<html>
<head>
<title>SQL-Anfrage stellen</title>
</head>

<body>
<?php
    $sql=$_SESSION['sql'];
    echo "<p>SQL-Anfrage eingeben:</p>\n";
    echo "<form method=\"post\" action=\"tabelle-darstellen-2.php\">\n";
    echo "<textarea name=\"sql_query\" rows=\"10\" cols=\"50\">$sql</textarea>\n";
    echo "<br><br><input type=\"submit\" name=\"submit_anfrage\" value=\"Abschicken\">\n";
    echo "</form>\n";
?>
</body>
</html>

Ergebnis darstellen

Die Datei tabelle-darstellen-2.php wird aufgerufen, wenn das Formular aus der Datei sql-anfrage.php abgeschickt wird. Die Werte der Formularfelder werden im assoziativen Array $_POST übergeben. Dabei entsprechen die Namen der Formularfelder den Keys des assoziativen Arrays. Der Wert des Formularfeldes mit dem Namen sql_query erscheint somit unter $_POST['sql_query'].

Das erhaltene SQL-Kommando wird zunächst daraufhin überprüft, ob es ein SELECT-Kommando ist. Wenn ja, wird es ausgeführt, anschließend wird das Ergebnis dargestellt.

 

tabelle-darstellen-2.php
<?php
    session_start();
?>
<html>
<head>
<title>Ergebnis der SQL-Anfrage</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

<body>
<?php
    // übergebene Daten verarbeiten
    $sql=$_POST['sql_query'];
    $_SESSION['sql']=$sql;
    
    // prüfen, ob SELECT-Kommando
    if (substr_compare(trim($sql), "select", 0, 6, true) !== 0)
        echo "Nur SELECT-Kommandos zulässig!\n";
    else
    {
        // Verbindung zur Datenbank herstellen
        require_once "ini.db.php";

        // Anfrage ausführen
        $result=sqlQuery($sql);

        echo "<p>$sql</p>\n";
        echo "<p>Ergebnis:</p>\n";
        // 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";
    }
		
    echo "<p><a href=\"sql-anfrage.php\">Zurück</a></p>\n";
?>
</body>
</html>

 

Sie benötigen also die beiden Dateien sql-anfrage.php und tabelle-darstellen-2.php, um das Wechselspiel zwischen der Eingabe einer SQL-Anfrage und der Darstellung des Ergebnisses zu realisieren. Zusätzlich benötigen Sie noch die Datei ini.db.php, um die Verbindung zur Datenbank herzustellen.

 

Weiter mit:   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