Anforderungen
Um
diese
Funktionen
nutzen
zu
können
,
müssen
Sie
PHP
mit
MySQL-Unterstützung
übersetzen
.
Installation
Durch
die
Angabe
der
Konfigurationsoption
--with-mysql[
=DIR
]
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
PHP
4
ist
die
Unterstützung
für
MySQL
standardmäßig
immer
aktiviert
;
falls
Sie
die
Konfigurationsoption
weglassen
,
werden
die
internen
MySQL-Bibliotheken
genutzt
.
Benutzer
die
MySQL
auch
in
anderen
Anwendungen
nutzen
möchten
(
zum
Beispiel
:
PHP
3
und
PHP
4
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
.
|
Laufzeit Konfiguration
Das
Verhalten
dieser
Funktionen
wird
von
Einstellungen
in
der
php.ini
bestimmt
.
Tabelle
1
.
MySQL
Konfigurations-Optionen
Weitere Details und die Definition der PHP_INI_* Konstanten
sind unter
ini_set()
zu finden.
Beschreibung
der
Konfigurations-Optionen
-
mysql.allow_persistent
boolean
-
gibt
an
,
ob
persistente
Verbindungen
zu
MySQL
gestattet
werden
sollen
.
-
mysql.max_persistent
integer
-
Die
maximale
Anzahl
von
persistenten
MySQL
Verbindungen
pro
Prozess
.
-
mysql.max_links
integer
-
Die
maximale
Anzahl
von
MySQL
Verbindungen
,
einschließlich
persistenter
,
pro
Prozess
.
-
mysql.default_port
string
-
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
die
Konstante
MYSQL_PORT
.
-
mysql.default_socket
string
-
Legt
den
Socketnamen
fest
,
der
bei
der
Verbindung
zu
einem
lokalen
Datenbankserver
bennutzt
werden
soll
,
wenn
kein
anderer
Name
angegeben
wurde
.
-
mysql.default_host
string
-
Legt
den
Datenbankserver
fest
,
zu
dem
eine
Verbindung
aufgebaut
werden
soll
,
wenn
kein
Server
angegeben
wurde
.
Diese
Option
hat
im
safe
mode
keine
Auswirkungen
.
-
mysql.default_user
string
-
Legt
den
Benutzernamen
fest
,
der
bei
einer
Verbindung
zu
einer
Datenbank
verwendet
werden
soll
,
wenn
kein
Benutzer
angegeben
wurde
.
Diese
Option
hat
im
safe
mode
keine
Auswirkungen
.
-
mysql.default_password
string
-
Legt
das
Passwort
fest
,
das
bei
einer
Verbindung
zu
einer
Datenbank
verwendet
werden
soll
,
wenn
kein
Passwort
angegeben
wurde
.
Diese
Option
hat
im
safe
mode
keine
Auswirkungen
.
-
mysql.connect_timeout
integer
-
Verbindungstimeout
in
Sekunden
.
Auf
Linuxsystemen
wird
dieser
Timeout
auch
für
die
erste
Antwort
des
Servers
benutzt
.
Resource Typen
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
.
Vordefinierte Konstanten
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
|
|
Benutze
das
Kompression
Protokoll
|
|
Erlaubt
Leerzeichen
nach
Funktionsnamen
|
|
Erlaubt
Inaktivität
von
interactive_timeout
Sekunden
(
anstatt
wait_timeout
)
bevor
die
Verbindung
geschlossen
wird
.
|
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
|
|
Spalten
werden
in
einem
assioziativen
Array
zurückgegeben
.
|
|
Spalten
werden
sowohl
als
assioziatives
als
auch
als
numerisches
Array
zurückgegeben
.
|
|
Spalten
werden
als
numerisches
Array
zurückgegeben
.
Der
Index
beginnt
bei
0
,
dieser
entspricht
dem
ersten
Feld
des
Ergebnisses
.
|
Begriffserläuterung
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
.
Beispiele
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_user"
,
"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"
;
/
/
Freigeben
des
Resultsets
mysql_free_result($result)
;
/
/
schliessen
der
Verbinung
mysql_close($link)
;
?
|
|