Index: phpdoc/de/functions/ingres_ii.xml diff -u /dev/null phpdoc/de/functions/ingres_ii.xml:1.3 --- /dev/null Mon Sep 3 00:03:46 2001 +++ phpdoc/de/functions/ingres_ii.xml Mon Sep 3 00:03:46 2001 @@ -0,0 +1,1000 @@ + + + + Ingres II Funktionen + Ingres II + + &warn.experimental; + + Mit diesen Funktionen können Sie auf einen Ingres II Datenbankserver + zugreifen. + + + Damit Ihnen diese Funktionen zur Verfügung stehen, müssen Sie php + mit der Ingres-Unterstützung kompilieren, indem Sie die Option + angeben. Ausserdem + brauchen Sie die Open API Bibliothek sowie header Dateien, die in + Ingres II eingebunden werden. Falls die II_SYSTEM Umgebungsvariable + nicht korrekt gesetzt ist, müssen Sie vielleicht + benutzen, um + Ihr Inges Installationsverzeichnis anzugeben. + + + Wenn Sie diese Erweiterung mit Apache benutzen, und Ihr Apache + fährt nicht hoch, sondern bringt die Fehlermeldung: "PHP Fatal error: + Unable to start ingres_ii module in Unknown on line 0", dann + vergewissern Sie sich, dass die Umgebungsvariable II_SYSTEM korrekt + gesetzt ist. Wenn Sie im Startskript für den Apache "export + II_SYSTEM="/home/ingres/II" angeben, gerade bevor httpd gestartet + wird, sollte dieses Problem gelöst sein. + + + + Falls Sie schon andere PHP Erweiterungen zum Zugriff auf andere + Datenbankserver benutzt haben, sollten Sie beachten, dass Sie mit + Ingres keine konkurrierenden Abfragen und/oder Transaktionen über + eine Verbindung durchführen können. Darum finden Sie in dieser + Erweiterung keine Ergebnis- oder Transaktions-Handler. Die + Ergebnisse einer Abfrage müssen verarbeitet werden, bevor eine + neue Abfrage an den Datenbankserver geschickt wird und eine + Transaktion muss commited oder zurückgesetzt (roll-back) werden, + bevor eine neue Transaktion geöffnet wird (die Transaktion wird + automatisch geöffnet, wenn die erste Abfrage gesendet wird). + + + + + + + ingres_connect + Eine Verbindung zu einem Ingres II Datenbankserver öffnen. + + + Beschreibung + + + resource ingres_connect + string + database + + string + username + + string + password + + + + &warn.experimental.func; + + Gibt bei Erfolg eine Ingres II Verbindungskennung zurück, oder + &false;, wenn ein Fehler auftritt. + + + ingres_connect öffnet eine Verbindung zu dem + Ingres Datenbankserver, der im database + Argument angegeben ist und die Syntax + [node_id::]dbname[/svr_class] hat. + + + Wenn einige Parameter fehlen, benutzt + ingres_connect die Werte, die in der + php.ini für + ingres.default_database, + ingres.default_user und + ingres.default_password eingetragen sind. + + + Die Verbindung wird geschlossen, wenn das Skript zuende ist oder + wenn die Funktion ingres_close mit der + aktuellen Verbindungskennung aufgerufen wird. + + + Alle anderen Ingres-Funktionen benutzen standardmässig die zuletzt + geöffnete Verbindung, so dass Sie den Rückgabewert nur dann + speichern müssen, wenn Sie mehr als eine Verbindung zur gleichen + Zeit benutzen. + + + <function>ingres_connect</function> Beispiel + +<?php + $link = ingres_connect ("mydb", "user", "pass") + or die ("Verbindung fehlgeschlagen"); + print ("Verbindungsaufbau erfolgreich"); + ingres_close ($link); +?> + + + + <function>ingres_connect</function> Beispiel mit + der aktuellen Verbindungskennung + +<?php + ingres_connect ("mydb", "user", "pass") + or die ("Verbindung fehlgeschlagen"); + print ("Verbindungsaufbau erfolgreich"); + ingres_close (); +?> + + + Siehe auch + ingres_pconnect, und + ingres_close. + + + + + + + ingres_pconnect + + Öffnet eine persistente Verbindung zu einem Ingres II Datenbankserver. + + + + Beschreibung + + + resource ingres_pconnect + string + database + + string + username + + string + password + + + + &warn.experimental.func; + + Gibt bei Erfolg eine Ingres II Verbindungskennung zurück oder + oder &false;, wenn ein Fehler aufgetreten ist. + + + Zu den Details über die Parameter siehe + ingres_connect und die Beispiele . Es gibt + nur zwei Unterschiede zwischen den Funktionen + ingres_pconnect und + ingres_connect : + Zum ersten: beim Verbindungsaufbau schaut die Funktion zuerst, + ob schon eine geöffnete persistente Verbindung besteht, die mit + denselben Parametern geöffnet wurde. Falls eine gefunden wird, + wird ein Identifizierer zurückgegeben, anstatt eine neue Verbindung + zu öffnen. + Zum zweiten: Die Verbindung zum Ingres Server wird nicht geschlossen + wenn die Ausführung des Skripts beendet ist, sondern die Verbindung + bleibt zum weiteren Gebrauch offen + (ingres_close schliesst die Verbindungen, die + mit ingres_pconnect geöffnet wurden nicht). + Darum wird diese Art der Verbindung 'persistent' genannt. + + Siehe auch + ingres_connect, und + ingres_close. + + + + + + + ingres_close + Schliesst eine Ingres II Datenbankverbindung + + + Beschreibung + + + bool ingres_close + resource + link + + + + &warn.experimental.func; + + Gibt bei Erfolg &true; zurück, bei einem Fehler &false;. + + + ingres_close schliesst die Verbindung zu dem + Ingres Datenbankserver, der mit der übergebenen Verbindunkskennung + verknüpft ist. Falls der Parameter link + nicht angegeben wurde, wird die zuletzt geöffnete Verbindung + geschlossen. + + + ingres_close ist normalerweise nicht nötig, + weil es keine persistenten Verbindungen schliesst und weil alle + nicht-persistenten Verbindungen automatisch zum Ende des Skripts + geschlossen werden. + + Siehe auch + ingres_connect, und + ingres_pconnect. + + + + + + + ingres_query + Sendet eine SQL Abfrage an den Ingres II Server + + + Beschreibung + + + bool ingres_query + string + query + + resource + link + + + + &warn.experimental.func; + + Gibt bei Erfolg &true; zurück und bei einem Fehler &false;. + + + ingres_query sendet die übergebene + query an den Ingres Server. Diese Abfrage + muss ein gültiger SQL-String sein (Siehe die Ingres Dokumentation). + + + Die Abfrage wird zu einem Teil der aktuell offenen Transaktion. + Falls keine Transaktion geöffnet ist, öffnet + ingres_query eine neue Transaktion. Um diese + zu schliessen, können Sie entweder + ingres_commit aufrufen, um die gemachten + Änderungen in die Datenbank zu schreiben, oder Sie rufen + ingres_rollback auf, um diese Änderungen + zrückzusetzen. Wenn das Skript beendet wird, wird jede offene + Transaktion zurückgesetzt (indem die Funktion + ingres_rollback aufgerufen wird). Sie können + auch die Funktion ingres_autocommit benutzen, + bevor Sie eine neue Transaktion öffnen, damit werden alle einzelnen + SQL-Abfrage sofort gesendet. + + + Einige SQL Abfragen können mit dieser Funktion nicht gesendet + werden: + + + close (siehe ingres_close). + + + commit (siehe ingres_commit). + + + connect (siehe ingres_connect). + + + disconnect (siehe ingres_close). + + get dbevent + prepare to commit + + + rollback (siehe ingres_rollback). + + + savepoint + + + set autocommit (siehe ingres_autocommit). + + + + und alle Abfragen, die Cursors benutzen, werden + nicht unterstützt. + + + + + + <function>ingres_query</function> example + +<?php +ingres_connect ($database, $user, $password); + +ingres_query ("select * from table"); +while ($row = ingres_fetch_row()) { + echo $row[1]; + echo $row[2]; +} +?> + + + + + Siehe auch + ingres_fetch_array, + ingres_fetch_object, + ingres_fetch_row, + ingres_commit, + ingres_rollback und + ingres_autocommit. + + + + + + + ingres_num_rows + + Gibt die Anzahl der Datensätze der Ergebnismenge zurück oder die + Anzahl der von der letzten Abfrage betroffenen Datensätze. + + + + Beschreibung + + + int ingres_num_rows + resource + link + + + + &warn.experimental.func; + + Bei delete-, insert- or update-queries, gibt + ingres_num_rows die Anzahl der durch diese + Abfragen betroffenen Datensätze zurück. Bei den anderen Abfragen + gibt ingres_num_rows die Anzahl der Datensätze + in der Ergebnismenge zurück. + + + + + Diese Funktion dient hauptsächlich dazu, die Anzahl der + veränderten Datensätze in einer Datenbank festzustellen. + Wenn diese Funktion aufgerufen wird, bevor + ingres_fetch_array, + ingres_fetch_object oder + ingres_fetch_row aufgerufen wurde, löscht + der Server die Ergebnisdaten so dass das Skript sie nicht + auslesen kann. + + + Sie sollten stattdessen die Daten der Ergebnismenge mit einer + dieser fetch-Funktionen in einer Schleife auslesen, solange, bis + keine Datensätze mehr zum Lesen da sind und damit die + Schleifenbedingung &false; wird. + + + + + Siehe auch + ingres_query, + ingres_fetch_array, + ingres_fetch_object und + ingres_fetch_row. + + + + + + + ingres_num_fields + + Gibt die Anzahl der Felder der letzten Abfrage zurück + + + + Beschreibung + + + int ingres_num_fields + resource + link + + + + &warn.experimental.func; + + ingres_num_fields liefert die Anzahl der Felder + in der Ergebnismenge zurück, die vom Ingres Server nach einem Aufruf + von ingres_query zurückgegeben wurde. + + + See also + ingres_query, + ingres_fetch_array, + ingres_fetch_object und + ingres_fetch_row. + + + + + + + ingres_field_name + Holt den Namen eines Feldes in einer Ergebnismenge. + + + Beschreibung + + + string ingres_field_name + int + index + + resource + link + + + + &warn.experimental.func; + + ingres_field_name gibt den Namen eines Feldes + in einer Ergebnismenge zurück oder &false;, falls ein Fehler + aufgetreten ist. + + + index gibt die Nummer des Feldes an und muss + zwischen 1 und dem Wert, der von + ingres_num_fields zurückgegeben wird, liegen. + + + Siehe auch + ingres_query, + ingres_fetch_array, + ingres_fetch_object und + ingres_fetch_row. + + + + + + + ingres_field_type + Gibt den Typ eines Feldes in einer Ergebnismenge zurück. + + + Beschreibung + + + string ingres_field_type + int + index + + resource + link + + + + &warn.experimental.func; + + ingres_field_type gibt den Typ eines Feldes in + einer Ergebnismenge zurück oder &false;, wenn ein Fehler aufgetreten + ist. Beispiele von Rückgabewerten sind: "IIAPI_BYTE_TYPE", + "IIAPI_CHA_TYPE", "IIAPI_DTE_TYPE", "IIAPI_FLT_TYPE", + "IIAPI_INT_TYPE", "IIAPI_VCH_TYPE". Einige dieser Typen können, in + Abhängigkeit von der Feldlänge, mehrere SQL Typen umfassen. + (siehe ingres_field_length). Beispielsweise kann + "IIAPI_FLT_TYPE" entweder float4 oder float8 sein. Genauere + Informationen darüber finden Sie in dem Ingres/OpenAPI User Guide - + Appendix C. + + + index ist die Feldnummer und muss zwischen 1 + und dem Wert liegen, den die Funktion + ingres_num_fields zurückgibt. + + + See also + ingres_query, + ingres_fetch_array, + ingres_fetch_object und + ingres_fetch_row. + + + + + + + ingres_field_nullable + Prüft, ob für ein Feld NULL-Werte zugelassen sind. + + + Beschreibung + + + bool ingres_field_nullable + int + index + + resource + link + + + + &warn.experimental.func; + + ingres_field_nullable gibt &true; zurück, falls + in dieser Spalte &null;-Werte zugelasssen sind und &false;, falls + das nicht erlaubt ist. + + + index ist die Feldnummer und muss zwischen 1 + und dem Wert liegen, den die Funktion + ingres_num_fields zurückgibt. + + + See also + ingres_query, + ingres_fetch_array, + ingres_fetch_object und + ingres_fetch_row. + + + + + + + ingres_field_length + Gibt die Länge eines Feldes zurück. + + + Beschreibung + + + int ingres_field_length + int + index + + resource + link + + + + &warn.experimental.func; + + ingres_field_length gibt die Länge eines Feldes + zurück. Das ist die Anzahl der Bytes, die der Server zum Speichern + des Feldes belegt. Für genauere Informationen schauen sie in den + Ingres/OpenAPI User Guide - Appendix C. + + + index ist die Feldnummer und muss zwischen 1 + und dem Wert liegen, den die Funktion + ingres_num_fields zurückgibt. + + + See also + ingres_query, + ingres_fetch_array, + ingres_fetch_object und + ingres_fetch_row. + + + + + + + ingres_field_precision + Gibt die Genauigkeit eines Feldes zurück. + + + Beschreibung + + + int ingres_field_precision + int + index + + resource + link + + + + &warn.experimental.func; + + ingres_field_precision gibt die Genauigkeit + eines Feldes zurück. Dieser Rückgabewert wird nur für + Dezimalzahlen, Fliesskommazahlen und monetäre SQL Datentypen + benutzt. Wenn Sie es genauer wissen wollen, schauen Sie sich den + Ingres/OpenAPI User Guide - Appendix C an. + + + index ist die Feldnummer und muss zwischen 1 + und dem Wert liegen, den die Funktion + ingres_num_fields zurückgibt. + + + Siehe auch + ingres_query, + ingres_fetch_array, + ingres_fetch_object und + ingres_fetch_row. + + + + + + + ingres_field_scale + Gibt den Skalar eines Feldes zurück. + + + Beschreibung + + + int ingres_field_scale + int + index + + resource + link + + + + &warn.experimental.func; + + ingres_field_scale gibt den Skalar eines Feldes + zurück.Dieser Rückgabewert wird nur für Dezimalzahlen, + Fliesskommazahlen und monetäre SQL Datentypen benutzt. Für nähere + Informationen schauen Sie sich den Ingres/OpenAPI User Guide - + Appendix C an. + + + index ist die Feldnummer und muss zwischen 1 + und dem Wert liegen, den die Funktion + ingres_num_fields zurückgibt. + + + Siehe auch + ingres_query, + ingres_fetch_array, + ingres_fetch_object und + ingres_fetch_row. + + + + + + + ingres_fetch_array + Liest eine Zeile der Ergebnismenge in ein Array ein. + + + Beschreibung + + + array ingres_fetch_array + int + result_type + + resource + link + + + + &warn.experimental.func; + + ingres_fetch_array Gibt ein Array zurück, das + die die entsprechende Zeile der Ergebnismenge enthält oder &false; + falls das die Ergebnismenge keine Zeilen mehr enthält. + + + Diese Funktion ist eine erweiterte Version der Funktion + ingres_fetch_row. Zusätzlich zur Speicherung + der Daten unter numerischen Indizes werden die Daten auch unter + assoziativen Indizes im Ergebnisarray gespeichert, in dem die + Feldnamen als Schlüssel benutzt werden. + + Falls eine oder mehrere Spalten der Ergebnismenge dieselben + Feldnamen haben, bekommt die letzte Spalte die Priorität. Um auf die + anderen Spalten zuzugreifen, müssen sie entweder den numerischen + Index der Spalte benutzen oder Aliase für die Spalten machen. + + +ingres_query(select t1.f1 as foo t2.f1 as bar from t1, t2); +$result = ingres_fetch_array(); +$foo = $result["foo"]; +$bar = $result["bar"]; + + + + + result_type kann INGRES_NUM für ein + numerisches Array sein oder INGRES_ASSOC für ein assoziatives + Array, oder INGRES_BOTH (Standard). + + + Von der Geschwindigkeit her ist diese Funktion identisch zu + ingres_fetch_object, und fast so schnell wie + ingres_fetch_row (der Unterschied ist zu + vernachlässigen). + + + + <function>ingres_fetch_array</function> Beispiel + +<?php +ingres_connect ($database, $user, $password); + +ingres_query ("select * from table"); +while ($row = ingres_fetch_array()) { + echo $row["user_id"]; # benutzt ein assoziatives Array + echo $row["fullname"]; + echo $row[1]; # benutzt ein numerisches Array + echo $row[2]; +} +?> + + + + + See also + ingres_query, + ingres_num_fields, + ingres_field_name, + ingres_fetch_object und + ingres_fetch_row. + + + + + + + ingres_fetch_row + Holt eine Zeile aus einer Ergebnismenge in ein numerisches Array. + + + Beschreibung + + + array ingres_fetch_row + resource + link + + + + &warn.experimental.func; + + ingres_fetch_row gibt ein Array zurück, das + die entsprechende Zeile der Ergebnismenge enthält oder &false;, + falls es keine Zeilen mehr in der Ergebnismenge gibt. Jede Spalte + ist unter einem Array-Offset, beginnend mit 1, gespeichert. + + + Aufeinanderfolgende Aufrufe von + ingres_fetch_row würden immer die nächste Zeile + der Ergebnismenge zurückgeben oder &false;, wenn es keine Zeilen + mehr gibt. + + + + <function>ingres_fetch_row</function> Beispiel + +<?php +ingres_connect ($database, $user, $password); + +ingres_query ("select * from table"); +while ($row = ingres_fetch_row()) { + echo $row[1]; + echo $row[2]; +} +?> + + + + + Siehe auch + ingres_num_fields, + ingres_query, + ingres_fetch_array und + ingres_fetch_object. + + + + + + + ingres_fetch_object + Holt eine Zeile als Objekt. + + + Beschreibung + + + object ingres_fetch_object + int + result_type + + resource + link + + + + &warn.experimental.func; + + ingres_fetch_object Gibt ein Objekt zurück, + das mit der geholten Zeile einer Ergebnismenge korrespondiert oder + &false;, wenn es keine Zeilen mehr in der Egebnismenge gibt. + + + Diese Funktion ist ähnlich zu + ingres_fetch_array, mit einem Unterschied - + ein Objekt wird anstelle eines Arrays zurückgegeben. Indirekt + heisst das, dass Sie die Daten nur über ihre Feldnamen ansprechen + können und nicht über ihre Offsets (Zahlen sind unzulässige + Namen für Objekteigenschaften). + + + Das optionale Argument result_type ist eine + Konstante, die die folgenden Werte annehmen kann: INGRES_ASSOC, + INGRES_NUM und INGRES_BOTH. + + + Diese Funktion ist von der Geschwindigkeit her identisch zu + ingres_fetch_array, und fast so schnell wie + ingres_fetch_row (der Unterschied ist zu + vernachlässigen). + + + + <function>ingres_fetch_object</function> Beispiel + +<?php +ingres_connect ($database, $user, $password); +ingres_query ("select * from table"); +while ($row = ingres_fetch_object()) { + echo $row->user_id; + echo $row->fullname; +} +?> + + + + + Siehe auch + ingres_query, + ingres_num_fields, + ingres_field_name, + ingres_fetch_array und + ingres_fetch_row. + + + + + + + ingres_rollback + Setzt eine Transaktion zurück. + + + Beschreibung + + + bool ingres_rollback + resource + link + + + + &warn.experimental.func; + + ingres_rollback setzt die aktuell geöffnete + Transaktion zurück und macht alle Änderungen, die in der Transaktion + bereits durchgeführt wurden, wieder rückgängig. + + + Diese Funktion schliesst die Transaktion. Eine Neue Transaktion kann + geöffnet werden, wenn man mit ingres_query eine + neue Abfrage an den Datenbankserver schickt. + + + Siehe auch + ingres_query, + ingres_commit und + ingres_autocommit. + + + + + + + ingres_commit + Schliesst eine Transaktion ab. + + + Beschreibung + + + bool ingres_commit + resource + link + + + + &warn.experimental.func; + + ingres_commit schliesst die aktuell offene + Transaktion ab, indem alle Veränderungen in die Datenbank + übernommen werden. + + + Dadurch wird die Transaktion beendet. Eine neue Transaktion kann + geöffnet werden, indem man eine neue Abfrage mit + ingres_query an den Datenbankserver schickt. + + + Sie können auch den Server automatisch nach jeder Abfrage einen + Commit ausführen lassen, wenn sie die Funktion + ingres_autocommit aufrufen, bevor Sie die + Transaktion öffnen. + + + Siehe auch + ingres_query, + ingres_rollback und + ingres_autocommit. + + + + + + + ingres_autocommit + Schaltet den autocommit-Modus an oder aus. + + + Beschreibung + + + bool ingres_autocommit + resource + link + + + + &warn.experimental.func; + + ingres_autocommit wird vor dem Öffnen einer + Transaktion aufgerufen (vor dem ersten Aufruf der Funktion + ingres_query oder gleich nach einem Aufruf + von ingres_rollback oder + ingres_autocommit) um in den "autocommit" + Modus des Servers ein- oder auszuschalten (beim Beginn eines Skripts + ist der autocommit-Modus ausgeschaltet). + + + Wenn der autocommit-Modus eingeschaltet ist, wird jede Abfrage + automatisch sofort vom Server commited, so als würde die Funktion + ingres_commit nach jedem Aufruf von + ingres_query aufgerufen werden. + + + Siehe auch + ingres_query, + ingres_rollback und + ingres_commit. + + + + + + +