PHP Handbuch | ||
---|---|---|
Zurück | Nach vorne |
Diese Funktionen erlauben den Zugriff auf einen MySQL Datenbank-Server. Weitere Information zu MySQL sind unter http://www.mysql.com/ erhältlich.
Die Dokumentation zu MySQL ist unter http://www.mysql.com/documentation/ zu finden.
Um diese Funktionen nutzen zu können, müssen Sie PHP mit MySQL-Unterstützung übersetzen.
Durch die Angabe der Konfigurationsoption --with-mysql beim Aufruf von configure ermöglichen Sie den Zugriff auf MySQL über PHP. Falls Sie den Pfad zu MySQL nicht angeben, verwendet PHP die internen MySQL-Client Bibliotheken. Seit PHP4 ist die Unterstützung für MySQL standardmäßig immer aktiviert; falls Sie die Konfigurationsoption wrglassen, werden die internen MySQL-Bibliotheken genutzt. Benutzer die MySQL auch in anderen Anwendungen nutzen möchten (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.
Warnung |
Abstürze und Startprobleme von PHP können auftreten, wenn Sie diese Extension zusammen mit der recode-Extension laden. Für weitere Informationen schauen Sie bitte bei der recode Extension nach. |
Das Verhalten der MySQL Funktionen wird durch Einträge in der globalen Konfigurationsdatei php.ini 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 |
mysql.default_password | NULL | PHP_INI_ALL |
mysql.connect_timeout | "-1" | PHP_INI_SYSTEM |
Beschreibung der Konfigurations-Optionen
gibt an, ob persistente Verbindungen zu MySQL gestattet werden sollen.
Spezifiziert die maximale Anzahl von persistenten MySQL Verbindungen pro Prozess.
Legt die maximale Anzahl von MySQL Verbindungen (incl. persistenter Verbindungen) pro Prozess fest.
Gibt die Portnummer an, über den die Verbindung zum MySQL-Server aufgebaut werden soll, wenn kein Port als Verbindungsparameter übergeben wurde. Wird die Portnummer nicht angegeben, wird der Port über die MYSQL_TCP_PORT Umgebungsvariable, dem mysql-tcp Eintrag aus der Datei /etc/services oder der Konstanten MYSQL_PORT festgelegt, in dieser Reihenfolge. Win32 Systeme verwenden nur MYSQL_PORT
Spezifiziert den Socketnamen der bei der Verbindung zu einem lokalen Datenbankserver bennutzt werden soll, wenn kein anderer Name angegeben wurde.
Spezifiziert den Datenbankserver, zu dem eine Verbindung aufgebaut werden soll, wenn kein Server angegeben wurde. Diese Option hat im safe mode keine Auswirkungen.
Spezifiziert den Benutzernamen, der bei einer Verbindung zu einer Datenbank verwendet werden soll, wenn kein Benutzer angegeben wurde. Diese Option hat im safe mode keine Auswirkungen.
Spezifiziert das Passwort, das bei einer Verbindung zu einer Datenbank verwendet werden soll, wenn kein Passwort angegeben wurde. Diese Option hat im safe mode keine Auswirkungen.
Verbindungstimeout in Sekunden. Auf Linuxsystemen wird dieser Timeout auch für die erste Antwort des Servers benutzt.
Innerhalb des MySQL-Moduls werden zwei Resourcetypen benutzt. Der erste ist die Verbindungskennung für eine Verbindung zum Datenbankserver, der zweite Typ ist eine Resource die auf das Ergebnis einer Anfrage/Abfrage verweist.
Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.
Ab PHP 4.3.0 ist es möglich zusätzliche Client-Flags bei den Funktionen mysql_connect() und mysql_pconnect() anzugeben. Die folgenden Konstanten sind definiert:
Tabelle 2. MySQL-Client Konstanten
Konstante | Beschreibung |
---|---|
MYSQL_CLIENT_COMPRESS | Benutze das Kompression Protokoll |
MYSQL_CLIENT_IGNORE_SPACE | Erlaubt Leerzeichen nach Funktionsnamen |
MYSQL_CLIENT_INTERACTIVE | Erlaubt Inaktivität von interactive_timeout Sekunden (anstatt wait_timeout) bevor die Verbindung geschlossen wird. |
MYSQL_CLIENT_SSL | Benutze SSL (verschlüsseltes Protokoll) |
Die Funktion mysql_fetch_array() verwendet eine Konstante für die verschiedenen Arten der Ergebnisarrays. Die folgenden Konstanten sind definiert:
Tabelle 3. MySQL fetch Konstanten
Konstante | Beschreibung |
---|---|
MYSQL_ASSOC | Spalten werden in einem assioziativen Array zurückgegeben. |
MYSQL_BOTH | Spalten werden sowohl als assioziatives als auch als numerisches Array zurückgegeben. |
MYSQL_NUM | Spalten werden als numerisches Array zurückgegeben. Der Index beginnt bei 0, dieser entspricht dem ersten Feld des Ergebnisses. |
MYSQL_STORE_RESULT | Erzwingt die Zwischenpeicherung des Ergebnisses von MySQL |
MYSQL_USE_RESULT | Das Ergebnis von MySQL wird nicht zwischengespeichert. |
In diesem Dokument wird eine Reihe von Begriffen benutzt, die hier kurz erläutert werden sollen.
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.
Eine Referenz auf ein Ergebnis. Über diese Kennung erfolgt grundsätzlich der Zugriff auf das Ergebnis.
Eine Zeile aus einem Anfrageergebnis bestehend aus den Werten der einzelnen Felder.
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.
Entspricht einer Spalte im Anfrageergebnis.
Wie Datensatzzeiger bei Zugriffen auf Felder eines Anfrageergebnisses.
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.
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.
Zurück | Zum Anfang | Nach vorne |
msql | Nach oben | mysql_affected_rows |