cvs: phpdoc /de/functions mysql.xml

From: Date: Tue, 08 Jan 2002 13:55:44 +0000
Subject: cvs: phpdoc /de/functions mysql.xml
Groups: php.doc 
Request: Send a blank email to phpdoc+get-969340932@lists.php.net to get a copy of this message
betz Tue Jan 8 08:55:44 2002 EDT Modified files: /phpdoc/de/functions mysql.xml Log: changes ready. sync to en rev 1.82

Index: phpdoc/de/functions/mysql.xml diff -u phpdoc/de/functions/mysql.xml:1.35 phpdoc/de/functions/mysql.xml:1.36 --- phpdoc/de/functions/mysql.xml:1.35 Mon Jan 7 18:57:11 2002 +++ phpdoc/de/functions/mysql.xml Tue Jan 8 08:55:43 2002 @@ -5,86 +5,195 @@ <partintro> <simpara> 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 <option role="configure">--with-mysql</option> 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 <option role="configure">-- with-mysql=/pfad/zu/mysql</option> + festlegen. Diese Angabe zwingt PHP die Client-Bibliotheken + zu nutzen, die von MySQL installiert wurden. Diese Vorgehensweise vermeidet + jegliche Konflikte. </simpara> <simpara> - Weiter Informationen zu MySQL gibt es unter <ulink - url="&url.mysql;">&url.mysql;</ulink>. + Weitere Informationen zu MySQL gibt es unter + <ulink url="&url.mysql;">&url.mysql;</ulink>. + </simpara> + <simpara> + Dokumentation zu MySQL finden Sie unter + <ulink url="&url.mysql.docs;">&url.mysql.docs;</ulink>. </simpara> <para> - In diesem Dokument werden ein Reihe von Begriffen benutzt, die + In diesem Dokument wird eine Reihe von Begriffen benutzt, die hier kurz erläutert werden sollen. <variablelist> <varlistentry><term>Anfrageergebnis, Ergebnis</term> <listitem> <para> - 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. + 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. </para> </listitem> </varlistentry> <varlistentry><term>Ergebnis-Kennung</term> <listitem> <para> - Eine Referenz auf ein Ergebnis. Über diese Kennung erfolgt - grundsätzlich der Zugriff auf das Ergebnis. + Eine Referenz auf ein Ergebnis. Über diese Kennung erfolgt + grundsätzlich der Zugriff auf das Ergebnis. </para> </listitem> </varlistentry> <varlistentry><term>Datensatz</term> <listitem> <para> - Eine Zeile aus einem Anfrageergebnis bestehend aus den Werten - der einzelnen Felder. + Eine Zeile aus einem Anfrageergebnis bestehend aus den Werten + der einzelnen Felder. </para> </listitem> </varlistentry> <varlistentry><term>Datensatzzeiger</term> <listitem> <para> - Ein interner Zeiger auf einen Datensatz in einem - Anfrageergebnis. Dieser Zeiger bestimmt auf welchen Datensatz - zugegriffen wird. Der Zeiger kann sowohl impliziet als auch - expliziet verändert werden. + 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. </para> </listitem> </varlistentry> <varlistentry><term>Feld</term> <listitem> <para> - Entspricht einer Spalte im Anfrageergebnis. + Entspricht einer Spalte im Anfrageergebnis. </para> </listitem> </varlistentry> <varlistentry><term>Feldzeiger</term> <listitem> <para> - Wie Datensatzzeiger bei Zugriffen auf Felder eines - Anfrageergebnisses. + Wie Datensatzzeiger bei Zugriffen auf Felder eines + Anfrageergebnisses. </para> </listitem> </varlistentry> <varlistentry><term>Verbindungs-Kennung</term> <listitem> <para> - 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 - weiters 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. + 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. </para> </listitem> </varlistentry> </variablelist> </para> + <para> + Das Verhalten der MySQL Funktionen wird durch Einträge in der globalen + <link linkend="configuration">Konfigurationsdatei</link> beeinflusst. + <table> + <title><link linkend="ini.sect.mysql">MySQL Konfigurations-Optionen</link></title> + <tgroup cols="3"> + <thead> + <row> + <entry>Name</entry> + <entry>Standard</entry> + <entry>Veränderbar</entry> + </row> + </thead> + <tbody> + <row> + <entry>mysql.allow_persistent</entry> + <entry>"On"</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + <row> + <entry>mysql.max_persistent</entry> + <entry>"-1"</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + <row> + <entry>mysql.max_links</entry> + <entry>"-1"</entry> + <entry>PHP_INI_SYSTEM</entry> + </row> + <row> + <entry>mysql.default_port</entry> + <entry>NULL</entry> + <entry>PHP_INI_ALL</entry> + </row> + <row> + <entry>mysql.default_socket</entry> + <entry>NULL</entry> + <entry>PHP_INI_ALL</entry> + </row> + <row> + <entry>mysql.default_host</entry> + <entry>NULL</entry> + <entry>PHP_INI_ALL</entry> + </row> + <row> + <entry>mysql.default_user</entry> + <entry>NULL</entry> + <entry>PHP_INI_ALL</entry> + </row> + </tbody> + </tgroup> + </table> + Für weitere Details und die Definition der PHP_INI_* Konstanten schauen Sie bei + <function>ini_set</function> nach. + </para> + <para> + 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. + <example> + <title>MySQL Erweiterung: ein Überblicks Beispiel</title> + <programlisting role="php"> +<![CDATA[ +<?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); +?> +]]> + </programlisting> + </example> + </para> </partintro> <refentry id="function.mysql-affected-rows"> @@ -100,28 +209,55 @@ <funcsynopsis> <funcprototype> <funcdef>int <function>mysql_affected_rows</function></funcdef> - <paramdef>int <parameter><optional>Verbindungs-Kennung</optional></parameter></paramdef> + <paramdef>resource + <parameter> + <optional>Verbindungs-Kennung</optional> + </parameter> + </paramdef> </funcprototype> </funcsynopsis> <para> <function>mysql_affected_rows</function> liefert die Anzahl betroffener Datensätze durch die letzte INSERT, UPDATE oder - DELETE Anfrage an den Server, der mit der angegebenen - Verbindungskennung assoziiert wird. Wenn die Verbindungskennung - nicht angegeben wird, wird die zur Zeit offene Verbindung - verwendet. + DELETE Anfrage an den Server, die mit der angegebenen + <parameter>Verbindungs-Kennung</parameter> assoziiert wird. + Wird die Verbindungskennung nicht angegeben, wird die letzte + durch <function>mysql_connect</function> geöffnete Verbindung + angenommen. </para> + <note> + <para> + Falls Sie Transaktionen verwenden, müssen Sie + <function>mysql_affected_rows</function> unmittelbar nach Ihrer INSERT, + UPDATE, oder DELETE Anfrage aufrufen, nicht nach dem Commit. + </para> + </note> <para> - Wenn die letzte Anfrage ein DELETE ohne WHERE-Anweisung war, - wurden alle Datensätze aus der Tabelle gelöscht, die Funktion + War die letzte Anfrage ein DELETE-Anweisung ohne WHERE Bedingung, + wurden alle Datensätze aus der Tabelle gelöscht. Diese Funktion wird aber trotzdem &null; zurückliefern. </para> + <note> + <para> + Benutzen Sie UPDATE wird MySQL keine Spalten aktualisieren, + bei denen der neue dem alten Wert entpspricht. + Das kann dazu führen, dass <function>mysql_affected_rows</function> + nicht die tatsächliche Anzahl der betroffenen Zeilen liefert, sondern + nur die, die wörtlich durch die Anfrage betroffen sind. + </para> + </note> <para> - Diese Funktion macht keinen Sinn bei SELECT-Anfragen, sondern nur - wenn Datensätze modifiziert wurden. Um die Anzahl der gelieferten - Datensätze einer SELECT-Anfrage zu erhalten, benutzen Sie die + Diese Funktion arbeitet nicht in Verbindung mit SELECT-Anfragen, sondern + nur bei Anweisungen, die Datensätze verändern. Um die Anzahl der + gelieferten Datensätze einer SELECT-Anfrage zu erhalten, benutzen Sie die Funktion <function>mysql_num_rows</function>. </para> + <para> + Falls die letze Anfrage fehlschlägt, liefert diese Funktion -1 zurück. + </para> + <para> + Siehe auch: <function>mysql_num_rows</function>. + </para> </refsect1> </refentry> @@ -129,7 +265,7 @@ <refnamediv> <refname>mysql_change_user</refname> <refpurpose> - Ändert den zur Zeit angemeldeten Benutzer + Ändert den zur Zeit angemeldeten Benutzer der aktiven Verbindung </refpurpose> </refnamediv> <refsect1> @@ -138,25 +274,29 @@ <funcprototype> <funcdef>int <function>mysql_change_user</function></funcdef> <paramdef>string <parameter>Benutzername</parameter></paramdef> - <paramdef>string <parameter>Kennwort</parameter></paramdef> - <paramdef>string <parameter><optional>Datenbank</optional></parameter></paramdef> - <paramdef>int <parameter><optional>Verbindungs-Kennung</optional></parameter></paramdef> + <paramdef>string <parameter>Benutzerkennwort</parameter></paramdef> + <paramdef>string + <parameter><optional>Datenbank</optional> + </parameter> + </paramdef> + <paramdef>resource + <parameter><optional>Verbindungs-Kennung</optional> + </parameter> + </paramdef> </funcprototype> </funcsynopsis> - <para> + <para> <function>mysql_change_user</function> ändert den angemeldeten - Benutzer der Datenbank-Verbindung in den Benutzer mit dem - übergebenen Namen und Kennwort. Fehlt die Verbindungs-Kennung - wird die Änderung für die aktive Verbindung vorgenommen. If a - database is specified, this will default or current database - after the user has been changed. Wenn die Anmeldung als neuer - Benutzer mit dem angegebenen Kennwort fehlschlägt, bleibt der - aktuelle Benutzer aktiv. + Benutzer der aktuellen, aktiven Datenbank-Verbindung, oder für die + Verbindung, die mit dem optionalen Parameter + <parameter>Verbindungs-Kennung</parameter> bestimmt wurde. + Wurde eine <parameter>Datenbank</parameter> angegeben, wird diese + zur aktiven Datenbank, nachdem der Benutzer gewechselt hat. </para> <note> <para> Diese Funktion wurde mit PHP 3.0.13 eingeführt und erfordert - MySQL 3.23.3 oder höher. + MySQL 3.23.3 oder höher. </para> </note> </refsect1> @@ -165,49 +305,56 @@ <refentry id="function.mysql-close"> <refnamediv> <refname>mysql_close</refname> - <refpurpose>Schließt eine Verbindung zum Datenbank-Server</refpurpose> + <refpurpose>Schließt eine Verbindung zu MySQL</refpurpose> </refnamediv> <refsect1> <title>Beschreibung</title> <funcsynopsis> <funcprototype> - <funcdef>int <function>mysql_close</function></funcdef> - <paramdef>int <parameter><optional>Verbindungs-Kennung</optional></parameter></paramdef> + <funcdef>bool <function>mysql_close</function></funcdef> + <paramdef>resource + <parameter> + <optional>Verbindungs-Kennung</optional> + </parameter> + </paramdef> </funcprototype> </funcsynopsis> <para> - Rückgabewert: &true; im Erfolgsfall, &false; im Fehlerfall. + Rückgabewert: &return.success; </para> - <para> - <function>mysql_close</function> schließt die Verbindung zur - MySQL-Datenbank, die zur Verbindungs-Kennung gehört. Wenn die - <parameter>Verbindungs-Kennung</parameter> nicht angegeben wird, - wird die aktuelle Verbindung geschlossen. + <para> + <function>mysql_close</function> schließt die Verbindung zum + MySQL-Server, die mit der angegebenen Verbindungs-Kennung verknüpft ist. + Wird die <parameter>Verbindungs-Kennung</parameter> nicht angegeben, + wird die zuletzt geöffnete Verbindung geschlossen. </para> - <note> - <para> - Dies ist für gewöhnlich nicht notwendig, weil nichtpersistente - offene Verbindungen automatisch mit Beendigung des PHP-Skripts - geschlossen werden. - </para> - </note> <para> - <function>mysql_close</function> schließt keine persistenten - Verbindungen, die mit <function>mysql_pconnect</function> - geöffnet wurden. + Die Verwendung von <function>mysql_close</function> ist für gewöhnlich + nicht notwendig, weil offene, nicht persistente Verbindungen automatisch + mit Beendigung des PHP-Skripts geschlossen werden. Siehe auch + <link linkend="language.types.resource.self-destruct">Freigabe von Resourcen</link>. </para> + <note> + <para> + <function>mysql_close</function> schließt keine persistenten + Verbindungen, die mit <function>mysql_pconnect</function> + geöffnet wurden. + </para> + </note> <example> <title>Verbindung zum Datenbankserver schließen</title> <programlisting role="php"> -&lt;?php - $link = mysql_connect ("kraemer", "marliesle", "secret") - or die ("Could not connect"); - print ("Connected successfully"); +<![CDATA[ +<?php + $link = mysql_connect ("localhost", "marliesle", "secret") + or die ("keine Verbindung möglich"); + print ("Verbindung erfolgreich"); mysql_close ($link); ?> +]]> </programlisting> </example> - <para> + <para> Siehe auch: <function>mysql_connect</function> und <function>mysql_pconnect</function>. </para> @@ -217,69 +364,72 @@ <refentry id="function.mysql-connect"> <refnamediv> <refname>mysql_connect</refname> - <refpurpose>Öffnet eine Verbindung zum Datenbank-Server</refpurpose> + <refpurpose>Öffnet eine Verbindung zu einem MySQL-Server</refpurpose> </refnamediv> <refsect1> <title>Beschreibung</title> <funcsynopsis> <funcprototype> - <funcdef>int <function>mysql_connect</function></funcdef> - <paramdef>string <parameter><optional>server</optional></parameter></paramdef> + <funcdef>resource <function>mysql_connect</function></funcdef> + <paramdef>string <parameter><optional>Server</optional></parameter></paramdef> <paramdef>string <parameter><optional>Benutzername</optional></parameter></paramdef> - <paramdef>string <parameter><optional>Kennwort</optional></parameter></paramdef> + <paramdef>string <parameter><optional>Benutzerkennwort</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> - Rückgabewert: Eine Verbindungs-Kennung im Erfolgsfall oder &false; + Rückgabewert: Eine MySQL Verbindungs-Kennung im Erfolgsfall oder &false; im Fehlerfall. </para> <para> <function>mysql_connect</function> öffnet eine Verbindung zu einem - MySQL server. Alle Argumente sind optional, und wenn alle fehlen - wird ('localhost', Benutzername des Benutzers dem der Server-Prozess - gehört, leeres Kennwort) angenommen. + MySQL Server. Für fehlende optionale Parameter werden folgende Standardwerte + angenommen: <parameter>server</parameter> = 'localhost:3306', + <parameter>Benutzername</parameter> = Name des Benutzers dem der + Server-Prozess gehört und <parameter>Benutzerkennwort</parameter> = + leeres Kennwort. </para> <para> - Der Parameter <parameter>hostname</parameter> kann zudem die - Portnummer enthalten, z.B. &quot;hostname:port&quot; oder den - Pfad zu einem Socket z.B. &quot;:/path/to/socket&quot; für + Der Parameter <parameter>Server</parameter> kann zudem die + Portnummer enthalten, z.B. &quot;hostname:port&quot; oder den + Pfad zu einem Socket z.B. &quot;:/pfad/zum/socket&quot; für Zugriffe auf dem lokalen Rechner. <note> <para> - Unterstützung für &quot;:port&quot; wurde in PHP 3.0B4 - hinzugefügt. + Unterstützung für &quot;:port&quot; wurde in PHP + 3.0.10 hinzugefügt. </para> <para> - Unterstützung für &quot;:/path/to/socket&quot; wurde in PHP + Unterstützung für &quot;::/pfad/zum/socket&quot; wurde in PHP 3.0.10 hinzugefügt. </para> <para> - Fehlermeldung können unterdrückt werden, wenn dem Funktionsname - ein '@' voran gestellt wird. + Eine Fehlermeldung beim Verbindungsaufbau kann unterdrückt werden, + wenn dem Funktionsnamen ein '@' voran gestellt wird. </para> </note> </para> - <para> - Für den Fall, dass ein Aufruf von + <para> + Für den Fall, dass ein zweiter Aufruf von <function>mysql_connect</function> mit den gleichen Argumenten erfolgt, wird keine neue Verbindung aufgebaut, sondern die - Verbindungs-Kennung der schon bestehenden Verbindung - zurückgeliefert. + Verbindungs-Kennung der schon bestehenden Verbindung zurückgeliefert. </para> <para> - Die Verbindung zum Datenbank-Server wird geschlossen, sobald das - PHP-Skript beendet wird oder <function>mysql_close</function> - aufgerufen wird. + Die Verbindung zum Datenbank-Server wird geschlossen, sobald die + Ausführung des PHP-Skripts beendet ist oder vorher explizit die Funktion + <function>mysql_close</function> aufgerufen wird. </para> <example> <title>Verbindung zum Datenbanksserver öffnen</title> <programlisting role="php"> -&lt;?php - $link = mysql_connect ("kraemer", "marliesle", "secret") - or die ("Could not connect"); - print ("Connected successfully"); +<![CDATA[ +<?php + $link = mysql_connect ("localhost", "marliesle", "secret") + or die ("keine Verbindung möglich"); + print ("Verbindung erfolgreich"); mysql_close ($link); ?> +]]> </programlisting> </example> <para> @@ -292,39 +442,47 @@ <refentry id="function.mysql-create-db"> <refnamediv> <refname>mysql_create_db</refname> - <refpurpose>Erzeugt eine Datenbank</refpurpose> + <refpurpose>Anlegen einer Datenbank</refpurpose> </refnamediv> <refsect1> <title>Beschreibung</title> <funcsynopsis> <funcprototype> - <funcdef>int <function>mysql_create_db</function></funcdef> + <funcdef>bool <function>mysql_create_db</function></funcdef> <paramdef>string <parameter>Datenbankname</parameter></paramdef> - <paramdef>int <parameter><optional>Verbindungs-Kennung</optional></parameter></paramdef> + <paramdef>resource + <parameter><optional>Verbindungs-Kennung</optional> + </parameter> + </paramdef> </funcprototype> </funcsynopsis> <para> <function>mysql_create_db</function> versucht eine neue Datenbank - auf dem Server mit der angegebenen Verbindungs-Kennung zu - erzeugen. + auf dem Server anzulegen, der mit der angegebenen Verbindungs-Kennung + assoziiert wird. + </para> + <para> + Rückgabewert: &return.success; </para> <example> - <title>Erzeugen einer Datenbank</title> + <title>Anlegen einer Datenbank</title> <programlisting role="php"> -&lt;?php +<![CDATA[ +<?php $link = mysql_pconnect ("kron", "jutta", "geheim") - or die ("Could not connect"); - if (mysql_create_db ("my_db")) { - print ("Database created successfully\n"); + or die ("keine Verbindung möglich"); + if (mysql_create_db ("meine_db")) { + print ("Datenbank erfolgreich angelegt\n"); } else { - printf ("Error creating database: %s\n", mysql_error ()); + printf ("Fehler beim Anlegen der Datenbank: %s\n", mysql_error ()); } ?> +]]> </programlisting> </example> <para> - Für Abwärtskompatibilität kann auch - <function>mysql_createdb</function> verwendet werden. + Für Abwärtskompatibilität kann auch <function>mysql_createdb</function> + verwendet werden. Diese Funktion ist jedoch veraltet. </para> <para> Siehe auch: <function>mysql_drop_db</function>. @@ -335,19 +493,19 @@ <refentry id="function.mysql-data-seek"> <refnamediv> <refname>mysql_data_seek</refname> - <refpurpose>Bewegt internen Datensatz-Zeiger</refpurpose> + <refpurpose>Bewegt den internen Ergebnis-Zeiger</refpurpose> </refnamediv> <refsect1> <title>Beschreibung</title> <funcsynopsis> <funcprototype> - <funcdef>int <function>mysql_data_seek</function></funcdef> - <paramdef>int <parameter>Ergebnis-Kennung</parameter></paramdef> + <funcdef>bool <function>mysql_data_seek</function></funcdef> + <paramdef>resource <parameter>Ergebnis-Kennung</parameter></paramdef> <paramdef>int <parameter>Datensatznummer</parameter></paramdef> </funcprototype> </funcsynopsis> <para> - Rückgabewert: &true; im Erfolgsfall, &false; im Fehlerfall. + Rückgabewert: &return.success; </para> <para> <function>mysql_data_seek</function> bewegt den internen @@ -357,41 +515,100 @@ Datensatz. </para> <para> - Das Argument <parameter>Datensatznummer</parameter> ist 0 oder - größer. + Die <parameter>Datensatznummer</parameter> beginnt bei 0. </para> <example> - <title>Positionieren des Datensatzzeigers</title> + <title>Beispiel: Positionieren des Datensatzzeigers</title> <programlisting role="php"> -&lt;?php +<![CDATA[ +<?php $link = mysql_pconnect ("kron", "jutta", "geheim") - or die ("Could not connect"); + or die ("Keine Verbindung möglich"); mysql_select_db ("samp_db") - or die ("Could not select database"); + or die ("Auswahl der Datenbank nicht möglich"); $query = "SELECT last_name, first_name FROM friends"; $result = mysql_query ($query) - or die ("Query failed"); + or die ("Anfrage fehlgeschlagen"); - # fetch rows in reverse order + // holen der Zeilen in umgekehrter Reihenfolge for ($i = mysql_num_rows ($result) - 1; $i >=0; $i--) { if (!mysql_data_seek ($result, $i)) { - printf ("Cannot seek to row %d\n", $i); + echo "Cannot seek to row $i\n"; continue; } if(!($row = mysql_fetch_object ($result))) continue; - printf ("%s %s&lt;BR>\n", $row->last_name, $row->first_name); + echo "$row->last_name $row->first_name<br />\n"; } mysql_free_result ($result); ?> +]]> + </programlisting> + </example> + </refsect1> + </refentry> + + <refentry id="function.mysql-db-name"> + <refnamediv> + <refname>mysql_db_name</refname> + <refpurpose>Liefert Ergebnisdaten</refpurpose> + </refnamediv> + <refsect1> + <title>Beschreibung</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>mysql_db_name</function></funcdef> + <paramdef>resource <parameter>Ergebnis-Kennung</parameter></paramdef> + <paramdef>int <parameter>Datensatz</parameter></paramdef> + <paramdef>mixed + <parameter> + <optional>Feld</optional> + </parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>mysql_db_name</function> erwartet als ersten Parameter + eine Ergebnis-Kennung eines vorhergehenden Aufrufs der Funktion + <function>mysql_list_dbs</function>. Der Parameter + <parameter>Datensatz</parameter> ist ein Index innerhalb der Ergebnismenge. + </para> + <para> + Falls ein Fehler auftritt ist der Rückgabewert &false;. Um die Art des + Fehlers zu bestimmen, benutzen Sie die Funktionen + <function>mysql_errno</function> und + <function>mysql_error</function>. + </para> + <example> + <title><function>mysql_db_name</function> Beispiel</title> + <programlisting role="php"> +<![CDATA[ +<?php +error_reporting(E_ALL); + +mysql_connect('dbhost', 'username', 'password'); +$db_list = mysql_list_dbs(); + +$i = 0; +$cnt = mysql_num_rows($db_list); +while ($i < $cnt) { + echo mysql_db_name($db_list, $i) . "\n"; + $i++; +} +?> +]]> </programlisting> </example> + <para> + Für Abwärtskompatibilität kann auch <function>mysql_dbname</function> + verwendet werden. Diese Funktion ist jedoch veraltet. + </para> </refsect1> </refentry> @@ -404,31 +621,40 @@ <title>Beschreibung</title> <funcsynopsis> <funcprototype> - <funcdef>int <function>mysql_db_query</function></funcdef> + <funcdef>resource <function>mysql_db_query</function></funcdef> <paramdef>string <parameter>Datenbank</parameter></paramdef> <paramdef>string <parameter>Anfrage</parameter></paramdef> - <paramdef>int <parameter><optional>Verbindungs-Kennung</optional></parameter></paramdef> + <paramdef>resource <parameter> + <optional>Verbindungs-Kennung</optional></parameter> + </paramdef> </funcprototype> </funcsynopsis> <para> - Rückgabewert: Eine Ergebnis-Kennung als Referenz auf das + Rückgabewert: Eine positive MySQL Ergebnis-Resorce für das Anfrageergebnis, oder &false; im Fehlerfall. </para> - <para> - <function>msql_db_query</function> wählt eine Datenbank und führt - eine Anfrage darauf aus. Wenn der optionale Parameter + <para> + <function>msql_db_query</function> bestimmt eine Datenbank und führt + eine Anfrage an diese aus. Falls der optionale Parameter <parameter>Verbindungs-Kennung</parameter> nicht angegeben ist, - wird versucht die aktuelle Verbindung zu nutzen. Wenn auch dies - fehlschlägt, wird weiter versucht die Verbindung aufzubauen, wie - dies mit <function>mysql_connect</function> ohne Angabe von - Argumenten geschehen würde. + wird versucht, eine offene Verbindung zum MySQL Server zu finden und + zu nutzen. Wenn dies fehlschlägt, wird versucht eine Verbindung + aufzubauen, auf die gleiche Art und Weise wie beim Aufruf von + <function>mysql_connect</function> ohne Angabe von Argumenten. </para> <para> - Für Abwärtskompatibilität kann auch <function>mysql</function> - verwendet werden. + Siehe auch: <function>mysql_connect</function> und + <function>mysql_query</function>. </para> - <para> - Siehe auch <function>mysql_connect</function>. + <para> + <note> + <simpara> + Diese Funktion ist seit PHP 4.0.6 veraltet. Verwenden Sie diese + Funktion nicht. Stattdessen sollten Sie die Funktionen + <function>mysql_select_db</function> und + <function>mysql_query</function> verwenden. + </simpara> + </note> </para> </refsect1> </refentry> @@ -436,28 +662,33 @@ <refentry id="function.mysql-drop-db"> <refnamediv> <refname>mysql_drop_db</refname> - <refpurpose>Entfernt eine Datenbank</refpurpose> + <refpurpose>Löschen einer Datenbank</refpurpose> </refnamediv> <refsect1> <title>Beschreibung</title> <funcsynopsis> <funcprototype> - <funcdef>int <function>mysql_drop_db</function></funcdef> + <funcdef>bool <function>mysql_drop_db</function></funcdef> <paramdef>string <parameter>Datenbankname</parameter></paramdef> - <paramdef>int <parameter><optional>Verbindungs-Kennung</optional></parameter></paramdef> + <paramdef>resource + <parameter><optional>Verbindungs-Kennung</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> - Rückgabewert: &true; im Erfolgsfall, &false; ein Fehlerfall. + Rückgabewert: &return.success; </para> <para> <function>mysql_drop_db</function> versucht eine komplette Datenbank - vom Server mit der übergebenen Verbindungs-Kennung zu entfernen. + vom Server, der mit der übergebenen <parameter>Verbindungs-Kennung</parameter> + assoziiert wird, zu löschen. </para> - <para> - Siehe auch: <function>mysql_create_db</function>. Für - Abwärtskompatibilität kann auch - <function>mysql_dropdb</function> verwendet werden. + <para> + Zur Abwärtskompatibilität kann auch die Funktion + <function>mysql_dropdb</function> verwendet werden. Diese Funktion + ist jedoch veraltet. + </para> + <para> + Siehe auch: <function>mysql_create_db</function>. </para> </refsect1> </refentry> @@ -466,7 +697,7 @@ <refnamediv> <refname>mysql_errno</refname> <refpurpose> - Liefert die Fehlernummer einer zuvor ausgeführten Operation + Liefert die Nummer einer Fehlermeldung einer zuvor ausgeführten MySQL Operation </refpurpose> </refnamediv> <refsect1> @@ -474,23 +705,39 @@ <funcsynopsis> <funcprototype> <funcdef>int <function>mysql_errno</function></funcdef> - <paramdef>int <parameter><optional>Verbindungs-Kennung</optional></parameter></paramdef> + <paramdef>resource + <parameter> + <optional>Verbindungs-Kennung</optional> + </parameter> + </paramdef> </funcprototype> </funcsynopsis> <para> - Fehler, die vom MySQL Server kommen, führen nicht zu einer - Ausgabe von Warnungen. Stattdessen, sollte diese Funktion - verwendet werden, um die Fehlernummer zu erhalten. + Liefert die Fehlernummer der letzten MySQL Funktion, oder + <literal>0</literal> (Null) falls kein Fehler aufgetreten ist. + </para> + <para> + Fehler, die vom MySQL Server kommen, führen nicht mehr zu einer + Ausgabe von Warnungen. Stattdessen sollten Sie die Funktion + <function>mysql_errno</function> verwenden, um die Fehlernummer + zu erhalten. Beachten Sie, dass diese Funktion nur die Fehlernummer + der zuletzt ausgeführten MySQL Funktion liefert (ausgeschlossen sind + die Funktionen <function>mysql_error</function> und + <function>mysql_errno</function>). Wenn Sie diese Funktion verwenden + wollen, sollten Sie den Wert überprüfen, bevor Sie eine weitere + MySQL Funktion aufrufen. <informalexample> <programlisting role="php"> -&lt;?php +<![CDATA[ +<?php mysql_connect("marliesle"); -echo mysql_errno().": ".mysql_error()."&lt;BR>"; -mysql_select_db("nonexistentdb"); -echo mysql_errno().": ".mysql_error()."&lt;BR>"; -$conn = mysql_query("SELECT * FROM nonexistenttable"); -echo mysql_errno().": ".mysql_error()."&lt;BR>"; +echo mysql_errno().": ".mysql_error()."<BR>"; +mysql_select_db("dbnichtvorhanden"); +echo mysql_errno().": ".mysql_error()."<BR>"; +$conn = mysql_query("SELECT * FROM nichtvorhandenetabelle"); +echo mysql_errno().": ".mysql_error()."<BR>"; ?> +]]> </programlisting> </informalexample> </para> @@ -512,23 +759,39 @@ <funcsynopsis> <funcprototype> <funcdef>string <function>mysql_error</function></funcdef> - <paramdef>int <parameter><optional>Verbindungs-Kennung</optional></parameter></paramdef> + <paramdef>resource + <parameter><optional>Verbindungs-Kennung</optional> + </parameter> + </paramdef> </funcprototype> </funcsynopsis> <para> - Fehler, die vom MySQL Server kommen, führen nicht zu einer - Ausgabe von Warnungen. Stattdessen, sollte diese Funktion - verwendet werden, um den Fehlertext zu erhalten. + Rückgabewert: Liefert den Fehlertext der letzten MySQL Funktion, oder + <literal>''</literal> (eine leere Zeichenkette), falls kein Fehler + aufgetreten ist. + </para> + <para> + Fehler, die vom MySQL Server kommen, führen nicht mehr + zu einer Ausgabe von Warnungen. Stattdessen, sollten Sie die Funktion + <function>mysql_error</function> verwenden, um den Fehlertext + zu erhalten. Beachten Sie, dass diese Funktion nur den Fehlertext + der zuletzt ausgeführten MySQL Funktion liefert (ausgeschlossen sind + die Funktionen <function>mysql_error</function> und + <function>mysql_errno</function>). Wenn Sie diese Funktion verwenden + wollen, sollten Sie den Wert überprüfen, bevor Sie eine weitere + MySQL Funktion aufrufen. <informalexample> <programlisting role="php"> -&lt;?php +<![CDATA[ +<?php mysql_connect("marliesle"); -echo mysql_errno().": ".mysql_error()."&lt;BR>"; -mysql_select_db("nonexistentdb"); -echo mysql_errno().": ".mysql_error()."&lt;BR>"; -$conn = mysql_query("SELECT * FROM nonexistenttable"); -echo mysql_errno().": ".mysql_error()."&lt;BR>"; +echo mysql_errno().": ".mysql_error()."<BR>"; +mysql_select_db("dbnichtvorhanden"); +echo mysql_errno().": ".mysql_error()."<BR>"; +$conn = mysql_query("SELECT * FROM tabellenichtvorhanden"); +echo mysql_errno().": ".mysql_error()."<BR>"; ?> +]]> </programlisting> </informalexample> </para> @@ -559,8 +822,8 @@ </para> <note> <simpara> - <literal>%</literal> und <literal>_</literal> werden von <function>mysql_escape_string</function> - nicht maskiert. + Die Zeichen <literal>%</literal> und <literal>_</literal> werden von + <function>mysql_escape_string</function> nicht maskiert. </simpara> </note> </refsect1> @@ -570,7 +833,7 @@ <refnamediv> <refname>mysql_fetch_array</refname> <refpurpose> - Liefert einen Datensatz als assoziatives Array + Liefert einen Datensatz als assoziatives Array, als numerisches Array oder beides </refpurpose> </refnamediv> <refsect1> @@ -578,54 +841,141 @@ <funcsynopsis> <funcprototype> <funcdef>array <function>mysql_fetch_array</function></funcdef> - <paramdef>int <parameter>Ergebnis-Kennung</parameter></paramdef> + <paramdef>resource <parameter>Ergebnis-Kennung</parameter></paramdef> <paramdef>int <parameter><optional>Ergebnistyp</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> - Liefert ein Array der den aktuellen Datensatz enthält oder &false;, + Liefert ein Array das dem aktuellen Datensatz entspricht oder &false;, wenn keine weiteren Datensätze vorliegen. </para> <para> <function>mysql_fetch_array</function> ist eine erweiterte - Version von <function>mysql_fetch_row</function>. Der Datensatz - wird dabei sowohl mit einer fortlaufenden Nummer als auch mit - dem Namen des Datenfeldes als Index in einem assoziativen Array - abgelegt. - </para> - <para> - Wenn zwei oder mehrere Felder des Ergebnisses den gleichen - Feldnamen haben, dann wird der Wert des letzten Feldes im Array - unter dem Feldnamen abgelegt. Um auch auf die anderen Felder mit - dem gleichen Namen zugreifen zu können, müssen Sie den - numerischen Index des Arrays verwenden oder einen Alias für das - Feld erzeugen. - <informalexample> - <programlisting> -select t1.f1 as foo t2.f1 as bar from t1, t2 + Version von <function>mysql_fetch_row</function>. Die Daten + werden sowohl unter numerischen Indizes des Ergebnis-Arrays abgelegt, + als auch unter assoziativen Indizes. Als Schlüssel für die assoziativen + Indizes werden die Feldnamen benutzt. + </para> + <para> + Falls zwei oder mehrere Spalten des Ergebnisses den gleichen + Feldnamen haben, dann wird nur der Wert der letzten Spalte im Array + unter diesem Feldnamen abgelegt. Um auch auf die anderen gleichnamigen + Spalten zugreifen zu können, müssen Sie den numerischen Index der Spalte + verwenden oder einen Alias für die Spalte vergeben. Falls Sie Aliase für + Spalten verwenden, können Sie auf die Inhalte dieser Spalten nicht über + ihren ursprünglichen Namen zugreifen. (In folgendem Beispiel können Sie + <literal>'field'</literal> nicht benutzen). + <informalexample> + <programlisting role="sql"> +<![CDATA[ +select tone.field as foo ttwo.field as bar from tone, ttwo +]]> </programlisting> </informalexample> </para> <para> Zu betonen ist, dass der Gebrauch von - <function>mysql_fetch_array</function> NICHT signifikant - langsamer ist als <function>mysql_fetch_row</function>, obwohl - die Funktion einen sichtlichen Mehrwert bedeutet. + <function>mysql_fetch_array</function> + <emphasis> nicht signifikant</emphasis> langsamer ist als + <function>mysql_fetch_row</function>, obwohl die Funktion einen + sichtlichen Mehrwert bietet. </para> <para> Das optionale zweite Argumente <parameter>Ergebnistyp</parameter> in <function>mysql_fetch_array</function> ist eine Konstante und kann die folgenden Werte annehmen: MYSQL_ASSOC, MYSQL_NUM und - MYSQL_BOTH. (Diese Eigenschaft wurde in PHP 3.0.7 hinzugefügt.) + MYSQL_BOTH. Diese Eigenschaft wurde in PHP 3.0.7 hinzugefügt. MYSQL_BOTH + ist der Standard für diesen Paramater. + </para> + <para> + Verwenden Sie MYSQL_BOTH, erhalten Sie ein Array mit assoziativen und + numerischen Indizes. Bei MYSQL_ASSOC erhalten Sie nur aasoziative + Indizes (genau wie bei <function>mysql_fetch_assoc</function>). + Bei MYSQL_NUM erhalten Sie nur numerische Indizes (genau wie bei + <function>mysql_fetch_row</function>). </para> <para> Für weitere Details, siehe auch - <function>mysql_fetch_row</function>. + <function>mysql_fetch_row</function> und + <function>mysql_fetch_assoc</function> + </para> + <example> + <title><function>mysql_fetch_array</function> Beispiel</title> + <programlisting role="php"> +<![CDATA[ +<?php +mysql_connect ($host, $user, $password); +$result = mysql_db_query ("database","select user_id, fullname from table"); +while ($row = mysql_fetch_array ($result)) { + echo "user_id: ".$row["user_id"]."<br>\n"; + echo "user_id: ".$row[0]."<br>\n"; + echo "fullname: ".$row["fullname"]."<br>\n"; + echo "fullname: ".$row[1]."<br>\n"; +} +mysql_free_result ($result); +?> +]]> + </programlisting> + </example> + </refsect1> + </refentry> + + <refentry id="function.mysql-fetch-assoc"> + <refnamediv> + <refname>mysql_fetch_assoc</refname> + <refpurpose> + Liefert einen Datensatz als assoziatives Array + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschreibung</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>mysql_fetch_assoc</function></funcdef> + <paramdef>resource <parameter>Ergebnis</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + Liefert ein assoziatives Array, das dem geholten entprechenden Datensatz + enthält.Sind keine weiteren Datensaätze vorhanden gibt diese Funktion + &false;zurück. + </para> + <para> + <function>mysql_fetch_assoc</function> entspricht in der Funktionsweise + exakt dem Aufruf von <function>mysql_fetch_array</function> mit Angabe + von MYSQL_ASSOC als optionalen zweiten Parameter. Diese Funktion + liefert Ihnen nur ein assoziatives Array. Das war das ursprüngliche + Verhalten von <function>mysql_fetch_array</function>. Falls Sie sowohl + numerische, als auch assoziative Indizes benötigen, verwenden Sie + <function>mysql_fetch_array</function>. + </para> + <para> + Falls zwei oder mehrere Felder des Ergebnisses den gleichen + Feldnamen haben, dann wird nur der Wert des letzten Felds im Array + unter diesem Feldnamen abgelegt. Um auch auf die anderen, gleichnamigen, + Felder zugreifen zu können, müssen Sie entweder numerische Indizes + und damit <function>mysql_fetch_row</function> benutzen, oder Aliase + für Ihre Felder anlegen. Zur Verwendung von Aliasen schauen Sie sich das + Beispiel unter der Beschreibung von <function>mysql_fetch_array</function> + an. + </para> + <para> + Zu betonen ist, dass der Gebrauch von + <function>mysql_fetch_assoc</function> + <emphasis> nicht signifikant</emphasis> langsamer ist als + <function>mysql_fetch_row</function>, obwohl die Funktion einen + sichtlichen Mehrwert bietet. + </para> + <para> + Für weitere Details, siehe auch + <function>mysql_fetch_row</function> und + <function>mysql_fetch_array</function>. </para> <example> - <title><function>mysql_fetch_array</function></title> + <title><function>mysql_fetch_assoc</function> Beispiel</title> <programlisting role="php"> -&lt;?php +<![CDATA[ +<?php mysql_connect ($host, $user, $password); mysql_select_db("database"); $result = mysql_query("select user_id, fullname from table"); @@ -635,6 +985,7 @@ } mysql_free_result ($result); ?> +]]> </programlisting> </example> </refsect1> @@ -652,82 +1003,82 @@ <funcsynopsis> <funcprototype> <funcdef>object <function>mysql_fetch_field</function></funcdef> - <paramdef>int <parameter>Ergebnis-Kennung</parameter></paramdef> + <paramdef>resource <parameter>Ergebnis-Kennung</parameter></paramdef> <paramdef>int <parameter><optional>Feld-Offset</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> - Liefert ein Objekt mit Feldinformationen. - </para> + Rückgabe: Ein Objekt mit Feldinformationen. + </para> <para> - <function>mysql_fetch_field</function> kann gebraucht werden, um - Feldinformationen über Felder in einem Anfrageergebnis zu - erhalten. Wenn der Feld-Offset nicht angegeben wird, werden die - Information des nächsten noch nicht mit - <function>mysql_fetch_field</function> erfragten Feldes + <function>mysql_fetch_field</function> kann benutzt werden, um + Informationen über Felder in einem bestimmten Anfrageergebnis zu + erhalten. Wenn der Feld-Offset nicht angegeben wird, werden die + Information des nächsten, noch nicht mit + <function>mysql_fetch_field</function> erfragten Feldes, geliefert. </para> <para> - Des Eigenschaften des Objekts sind: + Die Eigenschaften des Objekts sind: <itemizedlist> <listitem> <simpara> - name - Feldname + name - Feldname </simpara> </listitem> <listitem> <simpara> - table - Name der Tabelle zu der das Feld gehört + table - Name der Tabelle zu der das Feld gehört </simpara> </listitem> <listitem> <simpara> - max_length - maximale Länge des Feldes + max_length - maximale Länge des Feldes </simpara> </listitem> <listitem> <simpara> - not_null - 1, wenn das Feld nicht &null; sein kann + not_null - 1, wenn das Feld nicht &null; sein kann </simpara> </listitem> <listitem> <simpara> - primary_key - 1, wenn das Feld ein 'primary key' ist + primary_key - 1, wenn das Feld ein 'primary key' ist </simpara> </listitem> <listitem> <simpara> - unique_key - 1, wenn das Feld ein 'unique key' ist + unique_key - 1, wenn das Feld ein 'unique key' ist </simpara> </listitem> <listitem> <simpara> - multiple_key - 1, wenn das Feld ein 'non-unique key' ist + multiple_key - 1, wenn das Feld ein 'non-unique key' ist </simpara> </listitem> <listitem> <simpara> - numeric - 1, wenn das Feld vom Typ 'numeric' ist + numeric - 1, wenn das Feld vom Typ 'numeric' ist </simpara> </listitem> <listitem> <simpara> - blob - 1, wenn das Feld vom Typ 'BLOB' ist + blob - 1, wenn das Feld vom Typ 'BLOB' ist </simpara> </listitem> <listitem> <simpara> - type - der Typ des Feldes + type - der Typ des Feldes </simpara> </listitem> <listitem> <simpara> - unsigned - 1, wenn das Feld vorzeichenlos ist + unsigned - 1, wenn das Feld vorzeichenlos ist </simpara> </listitem> <listitem> <simpara> - zerofill - 1, wenn das Feld 'zero-filled' ist + zerofill - 1, wenn das Feld 'zero-filled' ist </simpara> </listitem> </itemizedlist> @@ -735,20 +1086,21 @@ <example> <title><function>mysql_fetch_field</function></title> <programlisting role="php"> -&lt;?php -mysql_connect ($host,$user,$password) - or die ("Could not connect"); +<![CDATA[ +<?php +mysql_connect ($host, $user, $password) + or die ("keine Verbindung möglich"); $result = mysql_db_query ("database", "select * from table") - or die ("Query failed"); -# get column metadata + or die ("Anfrage fehlgeschlagen"); +// get column metadata $i = 0; -while ($i &lt; mysql_num_fields ($result)) { - echo "Information for column $i:&lt;BR>\n"; +while ($i < mysql_num_fields ($result)) { + echo "Information für Feld $i:<BR>\n"; $meta = mysql_fetch_field ($result); if (!$meta) { - echo "No information available&lt;BR>\n"; + echo "keine Information verfügbar<BR>\n"; } - echo "&lt;PRE> + echo "<PRE> blob: $meta->blob max_length: $meta->max_length multiple_key: $meta->multiple_key @@ -761,11 +1113,12 @@ unique_key: $meta->unique_key unsigned: $meta->unsigned zerofill: $meta->zerofill -&lt;/PRE>"; +</PRE>"; $i++; } mysql_free_result ($result); ?> +]]> </programlisting> </example> <para> @@ -778,7 +1131,7 @@ <refnamediv> <refname>mysql_fetch_lengths</refname> <refpurpose> - Liefert die Länge eines jeden Feldes in einem Datensatz + Liefert die Länge eines jeden Feldes in einem Ergebnis </refpurpose> </refnamediv> <refsect1> @@ -786,19 +1139,21 @@ <funcsynopsis> <funcprototype> <funcdef>array <function>mysql_fetch_lengths</function></funcdef> - <paramdef>int <parameter>Ergebnis-Kennung</parameter></paramdef> + <paramdef>resource <parameter>Ergebnis-Kennung</parameter></paramdef> </funcprototype> </funcsynopsis> <para> - Rückgabewert: Ein Array, das die Längen eines jeden Feldes in dem - zuletzt geholten Datensatz enthält, oder &false; im Fehlerfall. + Liefert ein Array, das die Länge eines jeden Feldes in dem + zuletzt mit <function>mysql_fetch_row</function> geholten Datensatz + enthält, oder &false; im Fehlerfall. </para> <para> - <function>mysql_fetch_lengths</function> liefert die Längen eines - jeden Feldes in dem mit <function>mysql_fetch_row</function>, - <function>mysql_fetch_array</function> oder + <function>mysql_fetch_lengths</function> speichert die Länge jedes + Ergebnisfelds in dem mit + <function>mysql_fetch_row</function>, + <function>mysql_fetch_array</function> und <function>mysql_fetch_object</function> zuletzt geholten - Datensatzes, in einem Array. + Datensatz in einem Array, dessen Offset bei 0 beginnt. </para> <para> Siehe auch: <function>mysql_fetch_row</function>. @@ -809,35 +1164,35 @@ <refentry id="function.mysql-fetch-object"> <refnamediv> <refname>mysql_fetch_object</refname> - <refpurpose>Liefert einen Datensatz als Objekt</refpurpose> + <refpurpose>Liefert eine Ergebniszeile als Objekt</refpurpose> </refnamediv> <refsect1> <title>Beschreibung</title> <funcsynopsis> <funcprototype> <funcdef>object <function>mysql_fetch_object</function></funcdef> - <paramdef>int <parameter>Ergebnis-Kennung</parameter></paramdef> + <paramdef>resource <parameter>Ergebnis-Kennung</parameter></paramdef> <paramdef>int <parameter><optional>Ergebnistyp</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> - Liefert ein Objekt mit Eigenschaften, die den Felder des geholten - Datensatz entsprechen, oder &false; when keine weiteren Datensätze + Liefert ein Objekt mit Eigenschaften, die den Feldern des geholten + Datensatzes entsprechen, oder &false; wenn keine weiteren Datensätze vorhanden sind. </para> - <para> - <function>mysql_fetch_object</function> ist ähnlich zu + <para> + <function>mysql_fetch_object</function> ähnelt <function>mysql_fetch_array</function>, mit einem Unterschied - - ein Objekt wird zurück geliefert, anstatt eines Arrays. Indirekt - bedeutet dies, das Sie die Felder nur mit ihren Feldnamen und - nicht mir dem Offset ansprechen können. (Nummer sind ungültige + ein Objekt wird zurück geliefert anstatt eines Arrays. Indirekt + bedeutet dies, dass Sie die Daten nur mit ihren Feldnamen und + nicht mit dem Offset ansprechen können (Nummern sind ungültige Namen für Eigenschaften). </para> <para> Das optionale zweite Argumente <parameter>Ergebnistyp</parameter> - in <function>mysql_fetch_array</function> ist eine Konstante und - kann die folgenden Werte annehmen: MYSQL_ASSOC, MYSQL_NUM und - MYSQL_BOTH. + ist eine Konstante und kann einen der folgenden Werte annehmen: + MYSQL_ASSOC, MYSQL_NUM und MYSQL_BOTH. Die Bedeutung der Konstanten + können Sie bei <function>mysql_fetch_array</function> nachlesen. </para> <para> Unter Berücksichtigung der Ausführungsgeschwindigkeit ist diese @@ -845,17 +1200,19 @@ fast so schnell wie <function>mysql_fetch_row</function> (der Unterschied ist unwesentlich). <example> - <title>mysql fetch object</title> + <title><function>mysql_fetch_object</function> Beispiel</title> <programlisting role="php"> -&lt;?php -mysql_connect ($host, $user, $password); -$result = mysql_db_query ("database", "select * from table"); -while ($row = mysql_fetch_object ($result)) { +<![CDATA[ +<?php +mysql_connect("hostname", "user", "password"); +mysql_select_db($db); +$result = mysql_query("select * from table"); +while ($row = mysql_fetch_object($result)) { echo $row->user_id; echo $row->fullname; } -mysql_free_result ($result); ?> +]]> </programlisting> </example> </para> @@ -876,22 +1233,22 @@ <funcsynopsis> <funcprototype> <funcdef>array <function>mysql_fetch_row</function></funcdef> - <paramdef>int <parameter>Ergebnis-Kennung</parameter></paramdef> + <paramdef>resource <parameter>Ergebnis-Kennung</parameter></paramdef> </funcprototype> </funcsynopsis> <para> - Rückgabewert: Ein Array mit dem geholten Datensatz oder &false; - wenn keine weiteren Datensätze verfügbar sind. + Rückgabewert: Ein Array das der Ergebniszeile entspricht oder &false; + wenn keine weiteren Zeilen verfügbar sind. </para> <para> - <function>mysql_fetch_row</function> liefert einen Datensatz aus - dem Anfrageergebnis mit der übergebenen Kennung. Der Datensatz - wird als Array geliefert. Jeder Feldwert ist als ein Element - abgelegt. + <function>mysql_fetch_row</function> liefert eine Datensatz aus + dem Anfrageergebnis mit der übergebenen Kennung. Der Datensatz wird + als Array geliefert. Jedes Feld wird in einem Array-Offset + abgelegt, der Offset beginnt bei 0. </para> <para> - Folgende Aufrufe von <function>mysql_fetch_row</function> liefern - die weiteren Datensätze des Anfrageergebnisses oder &false;, wenn keine + Wiederholtes Aufrufen von <function>mysql_fetch_row</function> liefert + den nächsten Datensatz des Anfrageergebnisses oder &false;, wenn keine weiteren Datensätze verfügbar sind. </para> <para> @@ -904,11 +1261,48 @@ </refsect1> </refentry> + <refentry id="function.mysql-field-flags"> + <refnamediv> + <refname>mysql_field_flags</refname> + <refpurpose> + Liefert die Flags eines Feldes in einem Anfrageergebnis + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschreibung</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>mysql_field_flags</function></funcdef> + <paramdef>resource <parameter>Ergebnis</parameter></paramdef> + <paramdef>int <parameter>Feldoffset</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>mysql_field_flags</function> liefert die Flags des + Feldes mit dem übergebenen Offset. Die Flags werden als einzelne + Worte pro Flag und durch ein einziges Leerzeichen getrennt geliefert, + so dass sie leicht mit <function>explode</function> getrennt werden + können. + </para> + <para> + Die folgenden Flags werden geliefert, wenn Ihre Version von MySQL + diese unterstützt: "not_null", "primary_key", "unique_key", + "multiple_key", "blob", "unsigned", "zerofill", "binary", "enum", + "auto_increment", "timestamp". + </para> + <para> + Für Abwärtskompatibilität kann + <function>mysql_fieldflags</function> verwendet werden. Diese Funktion + ist jedoch veraltet. + </para> + </refsect1> + </refentry> + <refentry id="function.mysql-field-name"> <refnamediv> <refname>mysql_field_name</refname> <refpurpose> - Liefert den Namen eines Feldes in einem Anfrageergebnis + Liefert den Namen eines Feldes in einem Ergebnis </refpurpose> </refnamediv> <refsect1> @@ -916,22 +1310,84 @@ <funcsynopsis> <funcprototype> <funcdef>string <function>mysql_field_name</function></funcdef> - <paramdef>int <parameter>Ergebnis-Kennung</parameter></paramdef> + <paramdef>resource <parameter>Ergebnis-Kennung</parameter></paramdef> <paramdef>int <parameter>Feldindex</parameter></paramdef> </funcprototype> </funcsynopsis> <para> - <function>mysql_field_name</function> liefert den Namen eines - Feldes in einem Anfrageergebnis. Argumente der Funktion ist die - Kennung des Anfrageergebnisses und der Feldindex, z.B. - <literal>mysql_field_name($result,2);</literal> + <function>mysql_field_name</function> liefert den Namen des Feldes, der + dem angegeben Feldindex entspricht. Der Paramater + <parameter>Ergebnis-Kennung</parameter> muss eine gültige + Ergebnis-Kennung sein und <parameter>Feldindex</parameter> bestimmt den + numerischen Offset des Feldes. + </para> + <note> + <para> + Der <parameter>Feldindex</parameter> beginnt bei 0. + </para> + <para> + Zur Verdeutlichung: Der Index des dritten Feldes ist demnach 2, + der Index des vierten Feldes 3 und so weiter. + </para> + </note> + <para> + <example> + <title><function>mysql_field_name</function> Beispiel</title> + <programlisting role="php"> +<![CDATA[ +// Die Tabelle users enthält drei Felder: +// user_id +// username +// password. + +$res = mysql_db_query("users", "select * from users", $link); + +echo mysql_field_name($res, 0) . "\n"; +echo mysql_field_name($res, 2); +]]> + </programlisting> + <para> + Das oben angeführte Beispiel liefert die folgende Ausgabe: + <screen> +<![CDATA[ +user_id +password +]]> + </screen> + </para> + </example> + </para> + <para> + Für Abwärtskompatibilität kann <function>mysql_fieldname</function> + verwendet werden. Diese Funktion ist jedoch veraltet. </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-field-len"> + <refnamediv> + <refname>mysql_field_len</refname> + <refpurpose> + Liefert die Länge des angegebenen Feldes + </refpurpose> + </refnamediv> + <refsect1> + <title>Beschreibung</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>mysql_field_len</function></funcdef> + <paramdef>resource <parameter>Ergebnis</parameter></paramdef> + <paramdef>int <parameter>Feldoffset</parameter></paramdef> + </funcprototype> + </funcsynopsis> <para> - Dies liefert den Namen des zweiten Feldes im Anfrageergebnis. + <function>mysql_field_len</function> liefert die Länge des angegebenen + Feldes. </para> <para> Für Abwärtskompatibilität kann - <function>mysql_fieldname</function> verwendet werden. + <function>mysql_fieldlen</function> verwendet werden. Diese Funktion ist + jedoch veraltet. </para> </refsect1> </refentry> @@ -940,7 +1396,7 @@ <refnamediv> <refname>mysql_field_seek</refname> <refpurpose> - Setzt den Feldzeiger auf ein bestimmtes Feld + Setzt den Ergebniszeiger auf ein bestimmtes Feldoffset </refpurpose> </refnamediv> <refsect1> @@ -948,15 +1404,15 @@ <funcsynopsis> <funcprototype> <funcdef>int <function>mysql_field_seek</function></funcdef> - <paramdef>int <parameter>Ergebnis-Kennung</parameter></paramdef> + <paramdef>resource <parameter>Ergebnis</parameter></paramdef> <paramdef>int <parameter>Feldoffset</parameter></paramdef> </funcprototype> </funcsynopsis> <para> - Setzt den Feldzeiger auf den angegeben Feldoffset. Wenn mit dem - nächste Aufruf von <function>mysql_fetch_field</function> keinen - Feldoffset übergeben wird, wird das Feld auf den der Zeiger - verweist zurückgeliefert. + Setzt den Feldzeiger auf den angegeben Feldoffset. Wird beim + nächsten Aufruf von <function>mysql_fetch_field</function> kein + Feldoffset übergeben, wird der Feldoffset zurückgeliefert, der + bei <function>mysql_field_seek</function> angegeben wurde. </para> <para> Siehe auch: <function>mysql_fetch_field</function>. @@ -976,14 +1432,15 @@ <funcsynopsis> <funcprototype> <funcdef>string <function>mysql_field_table</function></funcdef> - <paramdef>int <parameter>Ergebnis-Kennung</parameter></paramdef> + <paramdef>resource <parameter>Ergebnis-Kennung</parameter></paramdef> <paramdef>int <parameter>Feldoffset</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Liefert den Namen der Tabelle, die das genannte Feld enthält. - Für Abwärtskompatibilität kann - <function>mysql_fieldtable</function> verwendet werden. + </para> + <para>Für Abwärtskompatibilität kann <function>mysql_fieldtable</function> + verwendet werden. Diese Funktion ist jedoch veraltet. </para> </refsect1> </refentry> @@ -992,7 +1449,7 @@ <refnamediv> <refname>mysql_field_type</refname> <refpurpose> - Liefert den Typ eines Feldes in einem Anfrageergebnis + Liefert den Typ eines Feldes in einem Ergebnis </refpurpose> </refnamediv> <refsect1> @@ -1000,20 +1457,23 @@ <funcsynopsis> <funcprototype> <funcdef>string <function>mysql_field_type</function></funcdef> - <paramdef>int <parameter>Ergebnis-Kennung</parameter></paramdef> + <paramdef>resource <parameter>Ergebnis</parameter></paramdef> <paramdef>int <parameter>Feldoffset</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>mysql_field_type</function> ist ähnlich zu <function>mysql_field_name</function>. Die Argumente sind - identisch, aber der Feldtyp wird zurückgeliefert. Dieser kann - einer von "int", "real", "string", "blob", oder anderen sein, wie - in der Dokumentation zu MySQL angegeben. + identisch, aber stattdessen wird der Typ des Feldes zurückgegeben. + Dieser kann "int", "real", "string", "blob", oder ein anderer Typ sein. + Eine ausführliche Beschreibung aller Typen finden Sie in der + <ulink url="&url.mysql.docs;">MySQL Dokumentation</ulink>. <example> - <title>Mysql Field Types</title> + <title>Mysql-Feldtypen</title> <programlisting role="php"> -&lt;?php +<![CDATA[ +<?php + mysql_connect ("localhost:3306"); mysql_select_db ("wisconsin"); $result = mysql_query ("SELECT * FROM onek"); @@ -1021,135 +1481,180 @@ $rows = mysql_num_rows ($result); $i = 0; $table = mysql_field_table ($result, $i); -echo "Your '".$table."' table has ".$fields." fields and ".$rows." records &lt;BR>"; -echo "The table has the following fields &lt;BR>"; -while ($i &lt; $fields) { +echo "Ihre '".$table."' Tabelle hat ".$fields." Felder und ".$rows." Datensätze <BR>"; +echo "Die Tabelle enthält folgende Felder <BR>"; +while ($i < $fields) { $type = mysql_field_type ($result, $i); $name = mysql_field_name ($result, $i); $len = mysql_field_len ($result, $i); $flags = mysql_field_flags ($result, $i); - echo $type." ".$name." ".$len." ".$flags."&lt;BR>"; + echo $type." ".$name." ".$len." ".$flags."<BR>"; $i++; } mysql_close(); + ?> +]]> </programlisting> </example> </para> - <para> - Für Abwärtskompatibilität kann - <function>mysql_fieldtype</function> verwendet werden. + <para> + Für Abwärtskompatibilität kann <function>mysql_fieldtype</function> + verwendet werden. Diese Funktion ist jedoch veraltet. </para> </refsect1> </refentry> - <refentry id="function.mysql-field-flags"> + <refentry id="function.mysql-free-result"> <refnamediv> - <refname>mysql_field_flags</refname> - <refpurpose> - Liefert die Flags eines Feldes in einem Anfrageergebnis - </refpurpose> + <refname>mysql_free_result</refname> + <refpurpose>Gibt belegten Speicher wieder frei</refpurpose> </refnamediv> <refsect1> <title>Beschreibung</title> <funcsynopsis> <funcprototype> - <funcdef>string <function>mysql_field_flags</function></funcdef> - <paramdef>int <parameter>Ergebnis-Kennung</parameter></paramdef> - <paramdef>int <parameter>Feldoffset</parameter></paramdef> + <funcdef>bool <function>mysql_free_result</function></funcdef> + <paramdef>resource <parameter>Ergebnis-Kennung</parameter></paramdef> </funcprototype> </funcsynopsis> - <para> - <function>mysql_field_flags</function> liefert die Flags des - Feldes mit dem übergeben Offset. Die Flags werden als einzelne - Worte pro Flag und Leerzeichen getrennt geliefert, so dass sie - leicht mit <function>explode</function> getrennt werden können. + <para> + <function>mysql_free_result</function> gibt den Speicher frei, der mit + der <parameter>Ergebnis-Kennung</parameter> assoziert ist. </para> <para> - Die folgenden Flags werden geliefert, wenn Ihre Version von MySQL - diese unterstützt: "not_null", "primary_key", "unique_key", - "multiple_key", "blob", "unsigned", "zerofill", "binary", "enum", - "auto_increment", "timestamp". + Die Funktion muss nur dann aufgerufen werden, wenn Sie sich bei + Anfragen, die große Ergebnismengen liefern, Sorgen über den + Speicherverbrauch zur Laufzeit des PHP-Skripts machen. Nach Ablauf des + PHP-Skripts wird der Speicher ohnehin freigegeben. </para> - <para> - Für Abwärtskompatibilität kann - <function>mysql_fieldflags</function> verwendet werden. + <para> + Für Abwärtskompatibilität kann <function>mysql_freeresult</function> + verwendet werden. Diese Funktion ist jedoch veraltet. </para> </refsect1> </refentry> - <refentry id="function.mysql-field-len"> + <refentry id="function.mysql-insert-id"> <refnamediv> - <refname>mysql_field_len</refname> + <refname>mysql_insert_id</refname> <refpurpose> - Liefert die Länge eines Feldes + Liefert die ID einer vorherigen INSERT-Operation </refpurpose> </refnamediv> <refsect1> <title>Beschreibung</title> <funcsynopsis> <funcprototype> - <funcdef>int <function>mysql_field_len</function></funcdef> - <paramdef>int <parameter>Ergebnis-Kennung</parameter></paramdef> - <paramdef>int <parameter>Feldoffset</parameter></paramdef> + <funcdef>int <function>mysql_insert_id</function></funcdef> + <paramdef>resource + <parameter><optional>Verbindungs-Kennung</optional> + </parameter> + </paramdef> </funcprototype> </funcsynopsis> + <para> + <function>mysql_insert_id</function> liefert die ID, + die bei der letzten INSERT-Operation für ein Feld vom Typ + AUTO_INCREMENT vergeben wurde. Wenn die + <parameter>Verbindungs-Kennung</parameter> nicht angegeben wird, + wird die zuletzt geöffnete Verbindung angenommen. + </para> <para> - <function>mysql_field_len</function> liefert die Länge des Feldes - mit dem übergebenen Feldoffset. Für Abwärtskompatibilität kann - <function>mysql_fieldlen</function> verwendet werden. + <function>mysql_insert_id</function> liefert 0, wenn die vorhergehende + Abfrage keinen AUTO_INCREMENT Wert erzeugt hat. Falls Sie den Wert zur + späteren Verwendung speichern möchten, stellen Sie sicher, dass Sie + <function>mysql_insert_id</function> direkt nach der Abfrage aufrufen, + die einen Wert erzeugt hat. </para> + <note> + <para> + Der Wert der MySQL SQL Funktion <literal>LAST_INSERT_ID()</literal> + liefert immer den zuletzt erzeugten AUTO_INCREMENT Wert. Dieser wird + zwischen Abfragen nicht zurückgesetzt. + </para> + </note> + <warning> + <para> + <function>mysql_insert_id</function> konvertiert den Typ der Rückgabe + der nativen MySQL C API Funktion <literal>mysql_insert_id()</literal> in + den Typ <literal>long</literal> (als <type>int</type> in PHP bezeichnet). + Falls Ihre AUTO_INCREMENT Spalte vom Typ BIGINT ist, ist der Wert den + <function>mysql_insert_id</function> liefert, nicht korrekt. + Verwenden Sie in diesem Fall stattdessen die MySQL interne SQL Funktion + <literal>LAST_INSERT_ID()</literal> in einer Abfrage. + </para> + </warning> </refsect1> </refentry> - <refentry id="function.mysql-free-result"> + <refentry id="function.mysql-list-dbs"> <refnamediv> - <refname>mysql_free_result</refname> - <refpurpose>Gibt den belegten Speicher wieder frei</refpurpose> + <refname>mysql_list_dbs</refname> + <refpurpose> + Auflistung der verfügbaren Datenbanken auf einem MySQL Server + </refpurpose> </refnamediv> <refsect1> <title>Beschreibung</title> <funcsynopsis> <funcprototype> - <funcdef>int <function>mysql_free_result</function></funcdef> - <paramdef>int <parameter>Ergebnis-Kennung</parameter></paramdef> + <funcdef>resource <function>mysql_list_dbs</function></funcdef> + <paramdef>resource + <parameter><optional>Verbindungs-Kennung</optional> + </parameter> + </paramdef> </funcprototype> </funcsynopsis> <para> - <function>mysql_free_result</function> entfernt ein Ergebnis und - gibt den belegten Speicher frei. Die Funktion muss nur dann - aufgerufen werden, wenn der Speicherbedarf zur Laufzeit des - PHP-Skripts zu hoch wird. Nach Ablauf des PHP-Skripts wird der - Speicher ohnehin freigegeben. + <function>mysql_list_dbs</function> liefert eine Ergebnis-Kennung, + die alle Datenbanken auf dem Datenbankserver enthält. Um diese + Ergebnis-Kennung zu durchlaufen benutzen Sie die Funktion + <function>mysql_tablename</function>, oder irgendeine der Funktionen, + die mit Ergebnistabellen umgehen kann. + </para> + <para> + <example> + <title><function>mysql_list_dbs</function> Beispiel</title> + <programlisting role="php"> +<![CDATA[ +<?php +$link = mysql_connect('localhost', 'myname', 'secret'); +$db_list = mysql_list_dbs($link); + +while ($row = mysql_fetch_object($db_list)) { + echo $row->Database . "\n"; +} +?> +]]> + </programlisting> + <para> + Das oben gezeigte Beispiel liefert die folgende Ausgabe: + <screen> +<![CDATA[ + +database1 +database2 +database3 + +]]> + </screen> + </para> + </example> </para> + <note> + <para> + Dieser Code funktioniert genauso leicht mit + <function>mysql_fetch_row</function> oder anderen ähnlichen Funktionen. + </para> + </note> <para> Für Abwärtskompatibilität kann - <function>mysql_freeresult</function> verwendet werden. + <function>mysql_listdbs</function> verwendet werden. Diese Funktion ist + jedoch veraltet. </para> - </refsect1> - </refentry> - - <refentry id="function.mysql-insert-id"> - <refnamediv> - <refname>mysql_insert_id</refname> - <refpurpose> - Liefert die Kennung einer vorherigen INSERT-Operation - </refpurpose> - </refnamediv> - <refsect1> - <title>Beschreibung</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>mysql_insert_id</function></funcdef> - <paramdef>int <parameter><optional>Verbindungs-Kennung</optional></parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>mysql_insert_id</function> liefert die Kennung (ID), - die bei der letzten INSERT-Operation für eine automatisch - inkrementiertes Feld (AUTO_INCREMENTED) vergeben wurde. Wenn die - <parameter>Verbindungs-Kennung</parameter> nicht angegeben wird, - wird die aktuelle Verbindung verwendet. + <para> + Siehe auch: <function>mysql_db_name</function>. </para> </refsect1> </refentry> @@ -1157,67 +1662,65 @@ <refentry id="function.mysql-list-fields"> <refnamediv> <refname>mysql_list_fields</refname> - <refpurpose>Listet die Felder einer Tabelle auf</refpurpose> + <refpurpose>Listet MySQL Ergebnisfelder auf</refpurpose> </refnamediv> <refsect1> <title>Beschreibung</title> <funcsynopsis> <funcprototype> - <funcdef>int <function>mysql_list_fields</function></funcdef> + <funcdef>resource <function>mysql_list_fields</function></funcdef> <paramdef>string <parameter>Datenbankname</parameter></paramdef> <paramdef>string <parameter>Tabellenname</parameter></paramdef> - <paramdef>int <parameter><optional>Verbindungs-Kennung</optional></parameter></paramdef> + <paramdef>resource + <parameter><optional>Verbindungs-Kennung</optional> + </parameter> + </paramdef> </funcprototype> </funcsynopsis> <para> <function>mysql_list_fields</function> fordert Information über - eine Tabelle an. Argumente sind der Datenbankname und der - Tabellenname. the table name. Die zurückgelieferte - Ergebnis-Kennung kann von den Funktionen + eine Tabelle an. Argumente sind der Datenbankname und der + Tabellenname. Die zurückgelieferte Ergebnis-Kennung kann von den + Funktionen <function>mysql_field_flags</function>, <function>mysql_field_len</function>, <function>mysql_field_name</function> und <function>mysql_field_type</function> verwendet werden. </para> <para> - Die Erbebnis-Kennung ist ein positiver ganzzahliger Wert. Die - Funktion liefert -1 im Fehlerfall. Eine mögliche Fehlermeldung - wird in der Variablen <literal>$phperrmsg</literal> abgelegt, es - sei denn die Funktion wurde als <literal>@mysql()</literal> - aufgerufen. In diesem Fall wird die Fehlermeldung ausgegeben. - </para> - <para> - Für Abwärtskompatibilität kann - <function>mysql_listfields</function> verwendet werden. - </para> - </refsect1> - </refentry> + <example> + <title><function>mysql_list_fields</function> Beispiel</title> + <programlisting role="php"> +<![CDATA[ +<?php +$link = mysql_connect('localhost', 'myname', 'secret'); - <refentry id="function.mysql-list-dbs"> - <refnamediv> - <refname>mysql_list_dbs</refname> - <refpurpose> - Liefert eine Liste der verfügbaren Datenbanken auf dem Server - </refpurpose> - </refnamediv> - <refsect1> - <title>Beschreibung</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>mysql_list_dbs</function></funcdef> - <paramdef>int <parameter><optional>Verbindungs-Kennung</optional></parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>mysql_list_dbs</function> liefert die Kennung eines - Ergebnisses, dass alle Datenbanken auf dem Datenbankserver - enthält. Benutzen Sie die Funktion - <function>mysql_tablename</function>, um das Ergebnis zu - durchlaufen. +$fields = mysql_list_fields("database1", "table1", $link); +$columns = mysql_num_fields($fields); + +for ($i = 0; $i < $columns; $i++) { + echo mysql_field_name($fields, $i) . "\n";; +} +]]> + </programlisting> + <para> + Das oben gezeigte Beispiel liefert die folgende Ausgabe: + <screen> +<![CDATA[ + +field1 +field2 +field3 +... +]]> + </screen> + </para> + </example> </para> <para> Für Abwärtskompatibilität kann - <function>mysql_listdbs</function> verwendet werden. + <function>mysql_listfields</function> verwendet werden. Diese + Funktion ist jedoch veraltet. </para> </refsect1> </refentry> @@ -1225,28 +1728,33 @@ <refentry id="function.mysql-list-tables"> <refnamediv> <refname>mysql_list_tables</refname> - <refpurpose>Liefert eine Liste der Tabellen in einer Datenbank</refpurpose> + <refpurpose>Listet Tabellen in einer MySQL Datenbank auf</refpurpose> </refnamediv> <refsect1> <title>Beschreibung</title> <funcsynopsis> <funcprototype> - <funcdef>int <function>mysql_list_tables</function></funcdef> + <funcdef>resource <function>mysql_list_tables</function></funcdef> <paramdef>string <parameter>Datenbankname</parameter></paramdef> - <paramdef>int <parameter><optional>Verbindungs-Kennung</optional></parameter></paramdef> + <paramdef>resource + <parameter> + <optional>Verbindungs-Kennung</optional> + </parameter> + </paramdef> </funcprototype> </funcsynopsis> <para> - <function>mysql_list_tables</function> liefert eine Liste der - Datenbank mit dem übergegebenen Namen, ähnlich wie die Funktion - <function>mysql_db_query</function> bei Datenbankanfragen. Die - Funktion <function>mysql_tablename</function> sollte genutzt - werden, um die tatsächlichen Namen der Tabellen im Ergebnis zu - erfragen. + <function>mysql_list_tables</function> benötigt die Angabe eines + Datenbanknamens und liefert eine Ergebniskennung ähnlich wie die + Funktion <function>mysql_db_query</function>. Um den aktuellen + Tabellennamen aus der Ergebniskennung zu erhalten, können Sie die + Funktion <function>mysql_tablename</function> benutzen, oder irgendeine + andere Funktion, die mit Ergebnistabellen umgehen kann. </para> <para> Für Abwärtskompatibilität kann - <function>mysql_listtables</function> verwendet werden. + <function>mysql_listtables</function> verwendet werden. Diese Funktion ist + jedoch veraltet. </para> </refsect1> </refentry> @@ -1261,7 +1769,7 @@ <funcsynopsis> <funcprototype> <funcdef>int <function>mysql_num_fields</function></funcdef> - <paramdef>int <parameter>Ergebnis-Kennung</parameter></paramdef> + <paramdef>resource <parameter>Ergebnis-Kennung</parameter></paramdef> </funcprototype> </funcsynopsis> <para> @@ -1269,14 +1777,15 @@ Felder in einem Ergebnis. </para> <para> - Siehe auch: <function>mysql_db_query</function>, + Siehe auch: <function>mysql_query</function>, <function>mysql_fetch_field</function> und <function>mysql_num_rows</function>. </para> <para> Für Abwärtskompatibilität kann - <function>mysql_numfields</function> verwendet werden. + <function>mysql_numfields</function> verwendet werden. Diese Funktion + ist jedoch veraltet. </para> </refsect1> </refentry> @@ -1291,21 +1800,47 @@ <funcsynopsis> <funcprototype> <funcdef>int <function>mysql_num_rows</function></funcdef> - <paramdef>int <parameter>Ergebnis-Kennung</parameter></paramdef> + <paramdef>resource <parameter>Ergebnis-Kennung</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>mysql_num_rows</function> liefert die Anzahl der - Datensätze im Ergebnis. + Datensätze einer Ergebnismenge. Diese Funktion ist nur gültig für SELECT + Befehle. Haben Sie eine INSERT, UPDATE oder DELETE Abfrage ausgeführt und + möchten die Anzahl der betroffenen Datensätze ermitteln, verwenden Sie die + Funktion <function>mysql_affected_rows</function>. </para> <para> - Siehe auch: <function>mysql_db_query</function>, - <function>mysql_query</function> und - <function>mysql_fetch_row</function>. + <example> + <title><function>mysql_num_rows</function> Beispiel</title> + <programlisting role="php"> +<![CDATA[ +<?php + +$link = mysql_connect("localhost", "username", "password"); +mysql_select_db("database", $link); + +$result = mysql_query("SELECT * FROM table1", $link); +$num_rows = mysql_num_rows($result); + +echo "$num_rows Rows\n"; + +?> +]]> + </programlisting> + </example> + </para> + <para> + Siehe auch: + <function>mysql_affected_rows</function>, + <function>mysql_connect</function>, + <function>mysql_select_db</function> und + <function>mysql_query</function>. </para> <para> Für Abwärtskompatibilität kann - <function>mysql_numrows</function> verwendet werden. + <function>mysql_numrows</function> verwendet werden. Diese Funktion + ist jedoch veraltet. </para> </refsect1> </refentry> @@ -1314,40 +1849,42 @@ <refnamediv> <refname>mysql_pconnect</refname> <refpurpose> - Öffnete eine persistente Verbindung zum MySQL Server + Öffnet eine persistente Verbindung zum MySQL Server </refpurpose> </refnamediv> <refsect1> <title>Beschreibung</title> <funcsynopsis> <funcprototype> - <funcdef>int <function>mysql_pconnect</function></funcdef> + <funcdef>resource <function>mysql_pconnect</function></funcdef> <paramdef>string <parameter><optional>Server</optional></parameter></paramdef> <paramdef>string <parameter><optional>Benutztername</optional></parameter></paramdef> <paramdef>string <parameter><optional>Benutzerkennwort</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> - Rückgabewert: Eine gültige Verbindung-Kennung im Erfolgsfall oder + Rückgabewert: Eine positive, MySQL-persistente Verbindungs-Kennung im Erfolgsfall oder &false; im Fehlerfall. </para> <para> - <function>mysql_pconnect</function> baut eine Verbindung zum - MySQL Server auf. Alle Argumente sind optional, und wenn alle - fehlen wird ('localhost', Benutzername des Benutzers dem der - Server-Prozess gehört, leeres Kennwort) angenommen. + <function>mysql_pconnect</function> baut eine Verbindung zu einem + MySQL Server auf. Für fehlende optionale Parameter werden folgende Standards + angenommen: <parameter>Server</parameter> = 'localhost:3306', + <parameter>Benutzername</parameter> = Name des Benutzers dem der + Server-Prozess gehört und <parameter>Benutzerkennwort</parameter> = + leeres Kennwort. </para> <para> - Der Parameter <parameter>hostname</parameter> kann zudem die + Der Parameter <parameter>Server</parameter> kann ausserdem eine Portnummer enthalten, z.B. &quot;hostname:port&quot; oder den - Pfad zu einem Socket z.B. &quot;:/path/to/socket&quot; für + Pfad zu einem Socket z.B. &quot;:/pfad/zu/socket&quot; für Zugriffe auf dem lokalen Rechner. <note> <para> Unterstützung für &quot;:port&quot; wurde in PHP 3.0B4 hinzugefügt. </para> <para> - Unterstützung für &quot;:/path/to/socket&quot; wurde in + Unterstützung für &quot;:/pfad/zum/socket&quot; wurde in PHP 3.0.10 hinzugefügt. </para> </note> @@ -1358,57 +1895,83 @@ Unterschiede auf. </para> <para> - Erstens, vor dem Verbindungsaufbau wird zunächst versucht eine - (persistente) Verbindung zum gleichen Host und mit dem gleichen - Benutzernamen und Kennwort zu finden. Wenn dies der Fall ist, - wird die Verbindungskennung dieser Verbindung zurückgeliefert und - keine neue Verbindung geöffnet. + Erstens: vor dem Verbindungsaufbau wird zunächst versucht eine offene + (persistente) Verbindung zum gleichen Host, mit dem gleichen + Benutzernamen und Benutzerkennwort zu finden. Wenn das gelingt, + wird eine Verbindungskennung dieser Verbindung zurückgeliefert anstatt + eine neue Verbindung aufzubauen. </para> <para> - Zweitens, die Verbindung zum SQL Server wird nicht mit Beendigung - des PHP-Skripts geschlossen. Sie bleibt bestehen für einen - möglichen, zukünftigen Verbindungsaufbau. - (<function>mysql_close</function> schließt keine mit - <function>mysql_pconnect</function> geöffnete Verbindungen). + Zweitens: die Verbindung zum SQL Server wird beim Beenden + des PHP-Skripts nicht geschlossen. Sie bleibt zur zukünftigen + Verwendung bestehen. + (<function>mysql_close</function> schließt keine von + <function>mysql_pconnect</function> geöffneten Verbindungen). </para> - <para> - Dieser Verbindungstyp wird daher 'persistent' genannt. + <para> + Deshalb wird dieser Verbindungstyp 'persistent' genannt. </para> + <note> + <para> + Beachten Sie, dass diese Art der Verbindung nur funktioniert. wenn Sie + PHP als Modul-Version benutzen. Für mehr Informationen schauen Sie unter + <link linkend="features.persistent-connections"> + Persistente Datenbankverbindungen</link> nach. + </para> + </note> + <warning> + <para> + Die Verwendung von persistenten Verbindungen verlangt unter Umständen + eine feinere Abstimmung der Konfiguration von Apache und MySQL. Dadurch + sollten Sie sicherstellen, dass Sie die Anzahl der Verbindungen, die MySQL + maximal erlaubt, nicht überschreiten. + </para> + </warning> </refsect1> </refentry> <refentry id="function.mysql-query"> <refnamediv> <refname>mysql_query</refname> - <refpurpose>Sendet eine SQL Anfrage zum Datenbankserver</refpurpose> + <refpurpose>Sendet eine Anfrage an MySQL</refpurpose> </refnamediv> <refsect1> <title>Beschreibung</title> <funcsynopsis> <funcprototype> - <funcdef>int <function>mysql_query</function></funcdef> + <funcdef>resource <function>mysql_query</function></funcdef> <paramdef>string <parameter>Anfrage</parameter></paramdef> - <paramdef>int <parameter><optional>Verbindungs-Kennung</optional></parameter></paramdef> + <paramdef>resource + <parameter><optional>Verbindungs-Kennung</optional> + </parameter> + </paramdef> </funcprototype> </funcsynopsis> <para> - <function>mysql_query</function> sendet eine Anfrage zu der zur - Zeit aktiven Datenbank-Verbindung oder der Verbindung mit der - übergegebenen Kennung. Wenn keine offene Verbindung besteht, - wird versucht eine Verbindung aufzubauen, als ob - <function>mysql_connect</function> ohne Argumente aufgerufen - wird. - </para> - <para> - Die Anfrage sollte nicht mit einem Semikolon enden. + <function>mysql_query</function> sendet eine Anfrage an die zur + Zeit aktiven Datenbank, die mit der angegebenen + <parameter>Verbindungs-Kennung</parameter> assoziiert wird. + Wird die <parameter>Verbindungs-Kennung</parameter> nicht angegeben, + wird die zuletzt geöffnete Verbindung angenommen. Wenn keine offene + Verbindung besteht, wird versucht eine Verbindung aufzubauen, wie beim + Aufruf von <function>mysql_connect</function> ohne Argumente, und diese + wird dann benutzt. </para> + <note> + <para> + Die Anfrage sollte nicht mit einem Semikolon enden. + </para> + </note> <para> - <function>mysql_query</function> liefert &true; (non-zero) oder - &false;, um anzuzeigen, ob die Anfrage erfolgreich war oder nicht. - Wird im Erfolgsfall &true; zurückgeliefert, dann sagt dies nichts - über die Zahl veränderter oder gelieferter Datensätze aus. Es - ist durchaus möglich, dass eine Anfrage erfolgreich ist, ohne - einen einzigen Datensatz zur verändern oder zu liefern. + Nur für SELECT Anweisungen liefert <function>mysql_query</function> + eine Ressourcen-Kennung oder &false, falls die Anfrage nicht korrekt + ausgeführt wurde. Für alle anderen SQL Anweisungen ist der Rückgabewert + von <function>mysql_query</function> im Erfolgsfall &true, im Fehlerfall + &false;. Ein Rückgabewert ungleich &false; bedeutet, dass die Anfrage + gültig war und vom Server ausgeführt werden konnte. Das alleine sagt + jedoch überhaupt nichts über die Anzahl veränderter oder gelieferter + Datensätze aus. Es ist durchaus möglich, dass eine Anfrage erfolgreich + war, ohne einen einzigen Datensatz zur verändern oder zu liefern. </para> <para> Die folgende Anfrage ist syntaktisch falsch, deshalb liefert @@ -1416,48 +1979,63 @@ <example> <title><function>mysql_query</function></title> <programlisting role="php"> -&lt;?php +<![CDATA[ +<php $result = mysql_query ("SELECT * WHERE 1=1") or die ("Invalid query"); ?> +]]> </programlisting> </example> </para> <para> Die folgende Anfrage ist semantisch falsch, wenn - <literal>my_col</literal> ist kein Feld in der Tabelle - <literal>my_tbl</literal>. Deshalb schlägt + <literal>my_col</literal> kein Feld in der Tabelle + <literal>my_tbl</literal> ist. Deshalb schlägt <function>mysql_query</function> fehl und liefert &false;: <example> <title><function>mysql_query</function></title> <programlisting role="php"> -&lt;?php +<![CDATA[ +<?php $result = mysql_query ("SELECT my_col FROM my_tbl") or die ("Invalid query"); ?> +]]> </programlisting> </example> </para> <para> <function>mysql_query</function> schlägt ebenso fehl und liefert - &false;, wenn Sie keinen Zugriff auf die Tabelle(n) haben. + &false;, wenn Sie keine Berechtigung zum Zugriff auf die verwiesene(n) + Tabelle(n) haben. </para> <para> - Angenommen eine Anfrage ist erfolgreich, dann können Sie mit - <function>mysql_affected_rows</function> herausfinden wieviele - Datensätze beeinflusst wurden (für DELETE, INSERT, REPLACE, oder - UPDATE Anweisungen). Bei SELECT Anweisungen, liefert - <function>mysql_query</function> eine Ergebnis-Kennung, die man - mit <function>mysql_result</function> weiter verarbeiten kann. - Wenn das Ergebnis nicht mehr gebraucht wird, können die belegten - Resourcen mit <function>mysql_free_result</function> freigegeben - werden. - </para> - <para> - Siehe auch: <function>mysql_affected_rows</function>, - <function>mysql_db_query</function>, + Angenommen eine Anfrage ist erfolgreich, dann können Sie für eine + SELECT Anweisung mit <function>mysql_num_rows</function> die Anzahl der + gelieferten Datensätze herausfinden. Falls Sie DELETE, INSERT, REPLACE, + oder UPDATE benutzt haben, können Sie die Anzahl der betroffenen Datensätze + mit <function>mysql_affected_rows</function> feststellen. + </para> + <para> + Nur bei SELECT Anweisungen liefert <function>mysql_query</function> eine + neue Ergebnis-Kennung, die Sie an die Funktion + <function>mysql_fetch_array</function> und andere Funktionen, die mit + Ergebnistabellen umgehen können, übergeben können. Sind sie mit der + Bearbeitung Ihrer Ergebnisse fertig, können Sie die belegten Resourcen + durch den Aufruf von <function>mysql_free_result</function> freigeben. + Ist die Ausführung des Skripts abgeschlossen, wird der belegte Speicher + automatisch freigegeben. + </para> + <para> + Siehe auch: + <function>mysql_num_rows</function> + <function>mysql_affected_rows</function>, <function>mysql_unbuffered_query</function>, <function>mysql_free_result</function>, + <function>mysql_fetch_array</function>, + <function>mysql_fetch_row</function>, + <function>mysql_fetch_assoc</function>, <function>mysql_result</function>, <function>mysql_select_db</function> und <function>mysql_connect</function>. @@ -1468,40 +2046,41 @@ <refentry id="function.mysql-unbuffered-query"> <refnamediv> <refname>mysql_unbuffered_query</refname> - <refpurpose>Sendet eine SQL Anfrage zum Datenbankserver, ohne dass die Ergebniszeilen gepuffert werden</refpurpose> + <refpurpose>Sendet eine SQL Anfrage an MySQL, + ohne Ergebniszeilen abzuholen und zu puffern.</refpurpose> </refnamediv> <refsect1> <title>Beschreibung</title> <funcsynopsis> <funcprototype> - <funcdef>int <function>mysql_unbuffered_query</function></funcdef> - <paramdef>string <parameter>query</parameter></paramdef> - <paramdef>int - <parameter><optional>link_identifier</optional></parameter> + <funcdef>resource <function>mysql_unbuffered_query</function></funcdef> + <paramdef>string <parameter>Anfrage</parameter></paramdef> + <paramdef>resource + <parameter><optional>Verbindungs-Kennung</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> - <function>mysql_unbuffered_query</function> sendet eine SQL Anfrage - <parameter>query</parameter> zum - Datenbankserver, ohne dass die Ergebniszeilen gepuffert werden, wie es - bei der Verwendung von <function>mysql_query</function> der Fall ist. - Wird auf verschiedene Datenbanken gleichzeitig zugegriffen, so muss der - optionale Parameter <parameter>link_identifier</parameter> angegeben werden. - - Dies spart zum einen Speicher bei Anfragen, die viele Ergebniszeilen - liefern. Andererseits kann auf dem Ergebnis der Datenbankabfrage direkt - gearbeitet werden, sobald die erste Zeile gefunden wurde - es muss also - nicht auf das Ende der Abfrage gewartet werden. + <function>mysql_unbuffered_query</function> sendet eine SQL + <parameter>Anfrage</parameter> an MySQL, ohne dass die Datensätze des + Ergebnisses automatisch geholt und gepuffert werden, wie es bei der + Verwendung von <function>mysql_query</function> der Fall ist. Einerseits + spart dieses Vorgehen eine erhebliche Menge an Speicher bei SQL Anfragen + ein, die große Ergebnismengen liefern. Andererseits können Sie + unmittelbar mit dem Anfrageergebnis arbeiten, sobald der erste Datensatz + gefunden wurde: Sie müssen nicht darauf warten, bis die gesamte SQL + Anfrage abgeschlossen ist. Wird auf verschiedene Datenbanken gleichzeitig + zugegriffen, muss der optionale Parameter + <parameter>Verbindungs-Kennung</parameter> angegeben werden. </para> <note> <para> - Die Vorteile von <function>mysql_unbuffered_query</function> kommen nicht - ohne Preis: Auf einem von <function>mysql_unbuffered_query</function> - generierten Ergebnis kann die Funktion <function>mysql_num_rows</function> - nicht benutzt werden. Ferner muss dafür Sorge getragen werden, dass alle - Ergebniszeilen von der Datenbank geholt werden, bevor eine neue SQL - Anfrage gestellt wird. + Die Vorteile von <function>mysql_unbuffered_query</function> haben ihren + Preis: Auf ein Ergebnis von <function>mysql_unbuffered_query</function> + kann die Funktion <function>mysql_num_rows</function> nicht angewendet + werden. Ausserdem müssen Sie sicherstellen, dass Sie alle Datensätze des + Ergebnisses einer ungepufferteten SQL Anfrage abgeholt haben. Erst dann + können Sie eine neue SQL Anfrage an MySQL absetzen. </para> </note> <para> @@ -1519,33 +2098,32 @@ <title>Beschreibung</title> <funcsynopsis> <funcprototype> - <funcdef>int <function>mysql_result</function></funcdef> - <paramdef>int <parameter>Ergebnis-Kennung</parameter></paramdef> - <paramdef>int <parameter>Datensatz-Index</parameter></paramdef> + <funcdef>mixed <function>mysql_result</function></funcdef> + <paramdef>resource <parameter>Ergebnis-Kennung</parameter></paramdef> + <paramdef>int <parameter>Datensatz</parameter></paramdef> <paramdef>mixed <parameter><optional>Feld</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> - <function>mysql_result</function> liefert den Inhalt eines Feldes - aus einem Anfrageergebnis. Das Argument - <parameter>Feld</parameter> kann der Feldname, der Feldoffset ein - Bezeichner in der Form 'Feldname.Tabellenname' sein. Wenn das - Feld einen Alias besitzt ('select foo as bar from...') muss der - Alias anstatt des Feldnamens verwendet werden. - </para> - <para> - Wenn auf Anfrageergebnisse mit vielen Datensätzen zugegriffen - werden soll, sollten Sie die Funktionen, die auf ganze Datensätze - zugreifen, in Betracht ziehen (siehe unten). Diese Funktionen - sind sehr viel schneller als - <function>mysql_result</function>. Beachten Sie auch, dass die - Angabe eines numerischen Offsets für das Feld sehr viel schneller - ist als die übrigen möglichen Angaben. - </para> - <para> - Aufrufe von <function>mysql_result</function> sollten nicht mit - Aufruf anderen Funktion, die auch auf das Ergebnis zugreifen, - verschachtelt werden. + <function>mysql_result</function> liefert den Inhalt eines Felds + aus einem Anfrageergebnis. Das Argument <parameter>Feld</parameter> + kann der Feldname, der Feldoffset ein Bezeichner in der Form + 'Tabellenname.Feldname.' sein. Wenn das Feld einen Alias besitzt + ('select foo as bar from...') muss der Alias anstatt des Feldnamens + verwendet werden. + </para> + <para> + Wenn auf Anfrageergebnisse mit vielen Datensätzen zugegriffen werden soll, + sollten Sie Funktionen, die auf ganze Datensätze zugreifen,in Betracht + ziehen (siehe unten). Diese Funktionen liefern bei einem einzigen Aufruf + den Inhalt mehrerer Felder und sind aus diesem Grund SEHR viel schneller als + <function>mysql_result</function>. Beachten Sie auch, dass die Angabe + eines numerischen Offsets für ein Feld sehr viel schneller ist als die + übrigen möglichen Angaben. + </para> + <para> + Aufrufe von <function>mysql_result</function> sollten nicht mit Aufrufen + anderer Funktionen verschachtelt werden, die auch auf das Ergebnis zugreifen. </para> <para> Empfohlende, leistungsfähigere Alternativen: @@ -1559,41 +2137,45 @@ <refentry id="function.mysql-select-db"> <refnamediv> <refname>mysql_select_db</refname> - <refpurpose>Wählt eine Datenbank aus</refpurpose> + <refpurpose>Auswahl einer Datenbank</refpurpose> </refnamediv> <refsect1> <title>Beschreibung</title> <funcsynopsis> <funcprototype> - <funcdef>int <function>mysql_select_db</function></funcdef> + <funcdef>bool <function>mysql_select_db</function></funcdef> <paramdef>string <parameter>Datenbankname</parameter></paramdef> - <paramdef>int <parameter><optional>Verbindungs-Kennung</optional></parameter></paramdef> + <paramdef>resource + <parameter><optional>Verbindungs-Kennung</optional> + </parameter> + </paramdef> </funcprototype> </funcsynopsis> <para> - Rückgabewert: &true; im Erfolgsfall, &false; im Fehlerfall. + Rückgabewert: &return.success; </para> <para> - <function>mysql_select_db</function> setzt die aktuelle Datenbank - auf dem Server zu dem die Verbindung mir der übergegebenen - Verbindungs-Kennung besteht. Fehlt die Verbindungs-Kennung wird - die aktive Verbindung genommen. Wenn auch diese nicht existiert, - wird weiter versucht die Verbindung aufzubauen, wie dies mit - <function>mysql_connect</function> ohne Angabe von Argumenten - geschehen würde. + <function>mysql_select_db</function> aktiviert die Datenbank + auf dem Server zu dem die Verbindung mit der übergegebenen + Verbindungs-Kennung besteht. Fehlt die Verbindungs-Kennung wird + die zuletzt geöffnete Verbindung verwendet. Wenn keine Verbindung + existiert, wird versucht eine Verbindung aufzubauen, wie beim + Aufruf von <function>mysql_connect</function> ohne Angabe von Argumenten. </para> <para> - Jeder weitere Aufruf von <function>mysql_query</function> nutzt - die aktive Verbindung. + Jeder weitere Aufruf von <function>mysql_query</function> benutzt diese + aktive Datenbank. </para> <para> - Siehe auch: <function>mysql_connect</function>, + Siehe auch: + <function>mysql_connect</function>, <function>mysql_pconnect</function> und <function>mysql_query</function>. </para> <para> Für Abwärtskompatibilität kann - <function>mysql_selectdb</function> verwendet werden. + <function>mysql_selectdb</function> verwendet werden. Diese Funktion ist + jedoch veraltet. </para> </refsect1> </refentry> @@ -1608,36 +2190,142 @@ <funcsynopsis> <funcprototype> <funcdef>string <function>mysql_tablename</function></funcdef> - <paramdef>int <parameter>Ergebnis-Kennung</parameter></paramdef> + <paramdef>resource <parameter>Ergebnis-Kennung</parameter></paramdef> <paramdef>int <parameter>i</parameter></paramdef> </funcprototype> </funcsynopsis> <para> - <function>mysql_tablename</function> ermittelt aus einem - Ergbenis, das von <function>mysql_list_tables</function> - geliefert wurde sowie einem Index <parameter>i</parameter> den - Namen der Tabelle. Die Funktion - <function>mysql_num_rows</function> kann verwendet werden, um die - Anzahl der Tabellen im Erbebnis zu ermitteln. + <function>mysql_tablename</function> ermittelt aus einer + Ergebnis-Kennung, die von <function>mysql_list_tables</function> + geliefert wurde, sowie einem Index vom Typ integer, den + Namen der Tabelle. Die Funktion <function>mysql_num_rows</function> kann + verwendet werden, um die Anzahl der Tabellen in der Ergebnis-Kennung zu + ermitteln. <example> <title><function>mysql_tablename</function> Bespiel</title> <programlisting role="php"> -&lt;?php -mysql_connect ("localhost:3306"); -$result = mysql_list_tables ("wisconsin"); -$i = 0; -while ($i &lt; mysql_num_rows ($result)) { - $tb_names[$i] = mysql_tablename ($result, $i); - echo $tb_names[$i] . "&lt;BR>"; - $i++; +<![CDATA[ +<?php +mysql_connect("host"); +$result = mysql_list_tables("wisconsin"); +for ($i = 0; $i < mysql_num_rows($result); $i++) { + $tb_names[$i] = mysql_tablename($result, $i); + echo $tb_names[$i] . "<BR>"; } ?> +?> +]]> </programlisting> </example> </para> </refsect1> </refentry> + <refentry id="function.mysql-get-client-info"> + <refnamediv> + <refname>mysql_get_client_info</refname> + <refpurpose>Liefert MySQL Clientinformationen</refpurpose> + </refnamediv> + <refsect1> + <title>Beschreibung</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>mysql_get_client_info</function></funcdef> + <void/> + </funcprototype> + </funcsynopsis> + <para> + <function>mysql_get_client_info</function> liefert eine Zeichenkette + mit der Version der Client-Bibliothek. + </para> + <para> + <function>mysql_get_client_info</function> wurde in PHP 4.0.5 hinzugefügt. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-get-host-info"> + <refnamediv> + <refname>mysql_get_host_info</refname> + <refpurpose>Liefert MySQL Host Informationen</refpurpose> + </refnamediv> + <refsect1> + <title>Beschreibung</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>mysql_get_host_info</function></funcdef> + <paramdef>resource + <parameter><optional>Verbindungs-Kennung</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>mysql_get_host_info</function> liefert eine Zeichenkette, + die den Typ der benutzten Verbindung + <parameter>Verbindungs-Kennung</parameter> beschreibt. Der Hostname + des Servers ist ebenfalls enthalten. + Fehlt der Parameter <parameter>Verbindungs-Kennung</parameter>, + wird die zuletzt hergestellte Verbindung benutzt. + </para> + <para> + <function>mysql_get_host_info</function> wurde in PHP 4.0.5 hinzugefügt. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-get-proto-info"> + <refnamediv> + <refname>mysql_get_proto_info</refname> + <refpurpose>Liefert MySQL Protokollinformationen</refpurpose> + </refnamediv> + <refsect1> + <title>Beschreibung</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>mysql_get_proto_info</function></funcdef> + <paramdef>resource + <parameter><optional>Verbindungs-Kennung</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>mysql_get_proto_info</function> liefert die Protokollversion, + die die Vebindung <parameter>Verbindungs-Kennung</parameter> nutzt. + Fehlt der Parameter <parameter>Verbindungs-Kennung</parameter>, + wird die zuletzt hergestellte Verbindung benutzt. + </para> + <para> + <function>mysql_get_proto_info</function> wurde in PHP 4.0.5 hinzugefügt. + </para> + </refsect1> + </refentry> + + <refentry id="function.mysql-get-server-info"> + <refnamediv> + <refname>mysql_get_server_info</refname> + <refpurpose>Liefert MySQL Server Informationen</refpurpose> + </refnamediv> + <refsect1> + <title>Beschreibung</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>mysql_get_server_info</function></funcdef> + <paramdef>resource + <parameter><optional>Verbindungs-Kennung</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>mysql_get_server_info</function> liefert die Serverversion, + die die Vebindung mit der <parameter>Verbindungs-Kennung</parameter> nutzt. + Fehlt die <parameter>Verbindungs-Kennung</parameter>, + wird die zuletzt hergestellte Verbindung benutzt. + </para> + <para> + <function>mysql_get_server_info</function> wurde in PHP 4.0.5 hinzugefügt. + </para> + </refsect1> + </refentry> </reference> <!-- Keep this comment at the end of the file @@ -1656,4 +2344,7 @@ sgml-local-catalogs:nil sgml-local-ecat-files:nil End: +vim600: syn=xml fen fdm=syntax fdl=2 si +vim: et tw=78 syn=sgml +vi: ts=1 sw=1 -->
« previous php.doc (#969340932) next »