PHP Handbuch
Zurück |  | Nach vorne

# LXI. MySQL Funktionen

Diese Funktionen erlauben den Zugriff auf einen MySQL Datenbank-Server. Um diese Funktionen nutzen zu können, müssen Sie PHP mit MySQL Unterstützung übersetzen. Das erreichen Sie durch die Angabe der Option `--with-mysql` beim Übersetzen. Falls Sie den Pfad zu MySQL nicht angeben, verwendet PHP die internen MySQL Client Bibliotheken. Benutzer die MySQL auch in anderen Anwendungen nutzen (zum Beispiel: PHP3 und PHP4 als simultane Apache-Module oder auth-mysql) sollten immer den Pfad zu MySQL mit der Option `-- with-mysql=/pfad/zu/mysql` festlegen. Diese Angabe zwingt PHP die Client-Bibliotheken zu nutzen, die von MySQL installiert wurden. Diese Vorgehensweise vermeidet jegliche Konflikte.

Weitere Informationen zu MySQL gibt es unter http://www.mysql.com/.

Dokumentation zu MySQL finden Sie unter http://www.mysql.com/documentation/.

In diesem Dokument wird eine Reihe von Begriffen benutzt, die hier kurz erläutert werden sollen.

Anfrageergebnis, Ergebnis

  Die Rückgabe auf eine Anfrage an den Datenbankserver. Anfragen können sowohl Datenbankanfragen sein, die Teile des Datenbankinhalts umfassen oder Informationen über eine Datenbank oder den Datenbankserver liefern. Ist das Ergebnis eine Datenbankanfrage kann man es sich als Tabelle vorstellen, in der die Zeilen die Datensätze sind und die Felder den Spalten ensprechen. Ein Ergebnis besteht aus 0 oder beliebig vielen Datensätzen.

Ergebnis-Kennung

  Eine Referenz auf ein Ergebnis. Über diese Kennung erfolgt grundsätzlich der Zugriff auf das Ergebnis.

Datensatz

  Eine Zeile aus einem Anfrageergebnis bestehend aus den Werten der einzelnen Felder.

Datensatzzeiger

  Ein interner Zeiger auf einen Datensatz in einem Anfrageergebnis. Dieser Zeiger bestimmt auf welchen Datensatz zugegriffen wird. Der Zeiger kann sowohl implizit als auch explizit verändert werden.

Feld

  Entspricht einer Spalte im Anfrageergebnis.

Feldzeiger

  Wie Datensatzzeiger bei Zugriffen auf Felder eines Anfrageergebnisses.

Verbindungs-Kennung

  Eine Referenz auf eine Verbindung zum Datenbank-Server. Mit dieser Verbindung ist beispielsweise die Datenbank, der Benutzer, der Rechnername auf dem die Datenbank läuft und weiteres verknüpft. Jeder Zugriff auf den Server nutzt diese Kennung. Wenn die Kennung beim Aufruf einer Funktion nicht angegeben wird, so wird die aktuelle Verbindungs-Kennung verwendet, die intern von PHP verwaltet wird.

Das Verhalten der MySQL Funktionen wird durch Einträge in der globalen Konfigurationsdatei beeinflusst.

Tabelle 1. MySQL Konfigurations-Optionen

Name | Standard | Veränderbar
--- | --- | ---
mysql.allow_persistent | "On" | PHP_INI_SYSTEM
mysql.max_persistent | "-1" | PHP_INI_SYSTEM
mysql.max_links | "-1" | PHP_INI_SYSTEM
mysql.default_port | NULL | PHP_INI_ALL
mysql.default_socket | NULL | PHP_INI_ALL
mysql.default_host | NULL | PHP_INI_ALL
mysql.default_user | NULL | PHP_INI_ALL

Für weitere Details und die Definition der PHP_INI_* Konstanten schauen Sie bei ini_set() nach.

Folgendes einfache Beispiel zeigt Ihnen, wie Sie sich mit einer MySQL- Datenbank verbinden, eine Anfrage ausführen, die Ergebnisse ausgeben und die Verbindung wieder trennen.

Beispiel 1. MySQL Erweiterung: ein Überblicks Beispiel
    <?php
    // Verbindung aufbauen, auswählen einer Datenbank
    $link = mysql_connect("mysql_host", "mysql_login", "mysql_password")
        or die("Keine Verbindung möglich!");
    print "Verbindung zum Datenbankserver erfolgreich";
    mysql_select_db("Meine_Datenbank")
        or die("Auswahl der Datenbank fehlgeschlagen");

    // ausführen einer SQL Anfrage
    $query = "SELECT * FROM Meine_Tabelle";
    $result = mysql_query($query)
        or die("Anfrage fehlgeschlagen");

    // Ausgabe der Ergebnisse in HTML
    print "<table>\n";
    while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
        print "\t<tr>\n";
        foreach ($line as $col_value) {
            print "\t\t<td>$col_value</td>\n";
        }
        print "\t</tr>\n";
    }
    print "</table>\n";

    // schliessen der Verbinung
    mysql_close($link);
    ?>

Zurück | Zum Anfang | Nach vorne
msql_tablename | Nach oben | mysql_affected_rows