13.1 Ein kleines SQL-Beispiel
Nehmen wir an, Sie sind unterwegs und wollen jemandem eine aktuelle Liste Ihrer Produkte zeigen. Sie setzen sich in ein Internet-Café und rufen ein PHP-Skript auf, das Sie auf Ihrem Web-Server gespeichert haben und welches die Produktliste im Browser ausgibt.

Abb. 13.1 Ausgabe
der Produktliste im Browser
Hier sehen Sie den Quellcode des
Skriptes bzw. den Inhalt der Datei
produkte.php:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Produktliste</TITLE>
</HEAD>
<BODY>
<?php
if (!mysql_connect("localhost", "james", "bond007")) {
die ("Verbindung zum Server fehlgeschlagen.");
}
if (!mysql_select_db("php_sql_shop")) {
die ("Datenbank nicht gefunden.");
}
$read_cursor = mysql_query("SELECT * FROM produkte");
while($result = mysql_fetch_array($read_cursor)) {
echo $result["beschreibung"] . " " . $result["kaufpreis"] . "<br>\n";
}
mysql_close();
?>
</BODY>
</HTML>
Sehen sie nun, was vom Browser an HTML-Code empfangen wird. Dazu müssen Sie im Internet Explorer die Menüleisten "Ansicht/Quelltext anzeigen" aktivieren (im Netscape Navigator "Ansicht/Seitenquelltext"). Es öffnet sich dadurch ein Fenster mit dem HTML-Quellcode der Seite:

Abb. 13.2 Quelltext
des in Abb. 13.1 angezeigten HTML-Dokuments
Nur der Text im
Skript wird ausgegeben, der entweder außerhalb der Klammerung <?php ... ?> steht, oder der innerhalb der
Klammerung mit der Funktion echo() erzeugt wurde. An der Kennung <?php
erkennt der PHP-Interpreter, dass nun PHP-Anweisungen folgen und führt diese
aus. Die Kennung ?> beendet einen PHP-Teil.
Die Anweisung echo() gibt eine
Zeichenkette aus. Sie sehen am Ende jeder Zeile auch den Tag <BR> aus HTML, der im Browser als
Zeilenumbruch interpretiert wird. In unserem Skript wird jede Ausgabe mit einem
"\n" beendet, dies ist das
Steuerzeichen für einen Zeilenumbruch. Dieser hat hier keine Auswirkung bei der
Betrachtung des HTML-Dokuments mit einem Browser, er dient lediglich dazu, den
HTML-Quelltext ordentlich zu formatieren.
Gehen wir das Skript
durch. Es ist denkbar einfach: Mit der Funktion mysql_connect()
wird eine Verbindung mit dem MySQL-Server aufgebaut. "localhost"
ist die Serverbezeichnung und bedeutet hier, dass MySQL auf demselben Host
läuft wie der Webserver. "james" ist der Benutzername und "bond007"
das Passwort für den MySQL-Server. Die Funktion mysql_select_db()
wählt eine Datenbank aus.
Bei beiden
Funktionen wird das Ergebnis daraufhin überprüft, ob sie erfolgreich ausgeführt
wurden. Bei einem Fehlschlag geben beide Funktionen false
zurück. Dies nutzen wir aus, indem wir dies mit einer if-Anweisung
testen und gegebenenfalls das Skript mit einer Fehlermeldung abbrechen. Dafür
verwenden wir die Funktion die(), die eine Zeichenkette ausgibt und
dann das Skript sofort beendet.
Die Funktion mysql_query() liefert einen Cursor, der durch den im
Parameter stehenden SQL-Befehl definiert ist. $read_cursor heißt die
Variable, in der wir den Cursor speichern. Anschließend sehen Sie eine while-Schleife,
die mit mysql_fetch_array() aus dem Cursor $read_cursorpro Schleifendurchgang eine Zeile liest
und in der Variablen $result speichert. Innerhalb des
Schleifenrumpfes wird mit der Anweisung echo() für jede Zeile die Beschreibung und
der Kaufpreis ausgegeben. Die Funktion mysql_close() schließt die Datenbankverbindung zum
Server.
Abgesehen von der Kürze des Skripts sollte Ihnen mit Ihrer bisherigen Erfahrung einiges aufgefallen sein:
PHP kann innerhalb eines HTML-Dokuments eingebettet werden. Die Syntax ähnelt stark der Syntax von Java, die Sie in der letzten Lerneinheit kennen gelernt haben (Java und PHP lehnen sich beide stark an C an; deshalb die Ähnlichkeit).
