File: ingres_ii.xml

package info (click to toggle)
phpdoc 20020310-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 35,272 kB
  • ctags: 354
  • sloc: xml: 799,767; php: 1,395; cpp: 500; makefile: 200; sh: 140; awk: 51
file content (949 lines) | stat: -rwxr-xr-x 33,642 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.7 $ -->
 <reference id="ref.ingres">
  <title>Ingres II Funktionen</title>
  <titleabbrev>Ingres II</titleabbrev>
  <partintro>
   &warn.experimental;
   <simpara>
    Mit diesen Funktionen knnen Sie auf einen Ingres II Datenbankserver
    zugreifen.
   </simpara>
   <simpara>
    Damit Ihnen diese Funktionen zur Verfgung stehen, mssen Sie php
    mit der Ingres-Untersttzung kompilieren, indem Sie die Option
    <option role="configure">--with-ingres</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, mssen Sie vielleicht
    <option role="configure">--with-ingres=DIR</option> benutzen, um
    Ihr Inges Installationsverzeichnis anzugeben.
   </simpara>
   <simpara>
    Wenn Sie diese Erweiterung mit Apache benutzen, und Ihr Apache
    fhrt 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 fr den Apache
    "export II_SYSTEM="/home/ingres/II" angeben, gerade bevor httpd
    gestartet wird, sollte dieses Problem gelst sein.
   </simpara>
   <note>
    <para>
     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 durchfhren knnen. Darum finden Sie in dieser
     Erweiterung keine Ergebnis- oder Transaktions-Handler. Die
     Ergebnisse einer Abfrage mssen verarbeitet werden, bevor eine
     neue Abfrage an den Datenbankserver geschickt wird und eine
     Transaktion muss commited oder zurckgesetzt (roll-back) werden,
     bevor eine neue Transaktion geffnet wird (die Transaktion wird
     automatisch geffnet, wenn die erste Abfrage gesendet wird).
    </para>
   </note>
  </partintro>

  <refentry id="function.ingres-connect">
   <refnamediv>
    <refname>ingres_connect</refname>
    <refpurpose>
     Eine Verbindung zu einem Ingres II Datenbankserver ffnen
    </refpurpose>
   </refnamediv>
   <refsect1>
    <title>Beschreibung</title>
     <methodsynopsis>
      <type>resource</type><methodname>ingres_connect</methodname>
      <methodparam choice="opt"><type>string</type><parameter>database</parameter></methodparam>
      <methodparam choice="opt"><type>string</type><parameter>username</parameter></methodparam>
      <methodparam choice="opt"><type>string</type><parameter>password</parameter></methodparam>
     </methodsynopsis>
    &warn.experimental.func;
    <para>
     Gibt bei Erfolg eine Ingres II Verbindungskennung zurck, oder
     &false;, wenn ein Fehler auftritt.
    </para>
    <para>
     <function>ingres_connect</function> ffnet eine Verbindung zu dem
     Ingres Datenbankserver, der im <parameter>database</parameter>
     Argument angegeben ist und die Syntax
     <parameter>[node_id::]dbname[/svr_class]</parameter> hat.
    </para>
    <para>
     Wenn einige Parameter fehlen, benutzt
     <function>ingres_connect</function> die Werte, die in der
     <filename>php.ini</filename> fr
     <parameter>ingres.default_database</parameter>,
     <parameter>ingres.default_user</parameter> und
     <parameter>ingres.default_password</parameter> eingetragen sind.
    </para>
    <para>
     Die Verbindung wird geschlossen, wenn das Skript zuende ist oder
     wenn die Funktion <function>ingres_close</function> mit der
     aktuellen Verbindungskennung aufgerufen wird.
    </para>
    <para>
     Alle anderen Ingres-Funktionen benutzen standardmssig die zuletzt
     geffnete Verbindung, so dass Sie den Rckgabewert nur dann
     speichern mssen, wenn Sie mehr als eine Verbindung zur gleichen
     Zeit benutzen.
    </para>
    <example>
     <title><function>ingres_connect</function> Beispiel</title>
     <programlisting>
&lt;?php
    $link = ingres_connect ("mydb", "user", "pass")
        or die ("Verbindung fehlgeschlagen");
    print ("Verbindungsaufbau erfolgreich");
    ingres_close ($link);
?>
     </programlisting>
    </example>
    <example>
     <title>
      <function>ingres_connect</function> Beispiel mit der aktuellen
      Verbindungskennung
     </title>
     <programlisting>
&lt;?php
    ingres_connect ("mydb", "user", "pass")
        or die ("Verbindung fehlgeschlagen");
    print ("Verbindungsaufbau erfolgreich");
    ingres_close ();
?>
     </programlisting>
    </example>
    <para> Siehe auch
     <function>ingres_pconnect</function> und
     <function>ingres_close</function>.
    </para>
   </refsect1>
  </refentry>

  <refentry id="function.ingres-pconnect">
   <refnamediv>
    <refname>ingres_pconnect</refname>
    <refpurpose>
     ffnet eine persistente Verbindung zu einem Ingres II
     Datenbankserver
    </refpurpose>
   </refnamediv>
   <refsect1>
    <title>Beschreibung</title>
     <methodsynopsis>
      <type>resource</type><methodname>ingres_pconnect</methodname>
      <methodparam choice="opt"><type>string</type><parameter>database</parameter></methodparam>
      <methodparam choice="opt"><type>string</type><parameter>username</parameter></methodparam>
      <methodparam choice="opt"><type>string</type><parameter>password</parameter></methodparam>
     </methodsynopsis>
    &warn.experimental.func;
    <para>
     Gibt bei Erfolg eine Ingres II Verbindungskennung zurck oder
     oder &false;, wenn ein Fehler aufgetreten ist.
    </para>
    <para>
     Zu den Details ber die Parameter siehe
     <function>ingres_connect</function> und die Beispiele. Es gibt
     nur zwei Unterschiede zwischen den Funktionen
     <function>ingres_pconnect</function> und
     <function>ingres_connect</function>: Zum ersten: beim
     Verbindungsaufbau schaut die Funktion zuerst, ob schon eine
     geffnete persistente Verbindung besteht, die mit denselben
     Parametern geffnet wurde. Falls eine gefunden wird, wird ein
     Identifizierer zurckgegeben, anstatt eine neue Verbindung zu
     ffnen.  Zum zweiten: Die Verbindung zum Ingres Server wird nicht
     geschlossen wenn die Ausfhrung des Skripts beendet ist, sondern
     die Verbindung bleibt zum weiteren Gebrauch offen
     (<function>ingres_close</function> schliesst die Verbindungen,
     die mit <function>ingres_pconnect</function> geffnet wurden
     nicht).  Darum wird diese Art der Verbindung 'persistent'
     genannt.
    </para>
    <para> Siehe auch
     <function>ingres_connect</function> und
     <function>ingres_close</function>.
    </para>
   </refsect1>
  </refentry>

  <refentry id="function.ingres-close">
   <refnamediv>
    <refname>ingres_close</refname> 
    <refpurpose>
     Schliesst eine Ingres II Datenbankverbindung
    </refpurpose>
   </refnamediv>
   <refsect1>
    <title>Beschreibung</title>
     <methodsynopsis>
      <type>bool</type><methodname>ingres_close</methodname>
      <methodparam choice="opt"><type>resource</type><parameter>link</parameter></methodparam>
     </methodsynopsis>
    &warn.experimental.func;
    <para>
     Gibt bei Erfolg &true; zurck, bei einem Fehler &false;.
    </para>
    <para>
     <function>ingres_close</function> schliesst die Verbindung zu dem
     Ingres Datenbankserver, der mit der bergebenen
     Verbindunkskennung verknpft ist. Falls der Parameter
     <parameter>link</parameter> nicht angegeben wurde, wird die
     zuletzt geffnete Verbindung geschlossen.
    </para>
    <para>
     <function>ingres_close</function> ist normalerweise nicht ntig,
     weil es keine persistenten Verbindungen schliesst und weil alle
     nicht-persistenten Verbindungen automatisch zum Ende des Skripts
     geschlossen werden.
    </para>
    <para> Siehe auch
     <function>ingres_connect</function> und
     <function>ingres_pconnect</function>.
    </para>
   </refsect1>
  </refentry>

  <refentry id="function.ingres-query">
   <refnamediv>
    <refname>ingres_query</refname>
    <refpurpose>
     Sendet eine SQL Abfrage an den Ingres II Server
    </refpurpose>
   </refnamediv>
   <refsect1>
    <title>Beschreibung</title>
     <methodsynopsis>
      <type>bool</type><methodname>ingres_query</methodname>
      <methodparam><type>string</type><parameter>query</parameter></methodparam>
      <methodparam choice="opt"><type>resource</type><parameter>link</parameter></methodparam>
     </methodsynopsis>
    &warn.experimental.func;
    <para>
     Gibt bei Erfolg &true; zurck und bei einem Fehler &false;.
    </para>
    <para>
     <function>ingres_query</function> sendet die bergebene
     <parameter>query</parameter> an den Ingres Server. Diese Abfrage
     muss ein gltiger SQL-String sein (Siehe die Ingres Dokumentation).
    </para>
    <para>
     Die Abfrage wird zu einem Teil der aktuell offenen Transaktion.
     Falls keine Transaktion geffnet ist, ffnet
     <function>ingres_query</function> eine neue Transaktion. Um diese
     zu schliessen, knnen Sie entweder
     <function>ingres_commit</function> aufrufen, um die gemachten
     nderungen in die Datenbank zu schreiben, oder Sie rufen
     <function>ingres_rollback</function> auf, um diese nderungen
     zrckzusetzen. Wenn das Skript beendet wird, wird jede offene
     Transaktion zurckgesetzt (indem die Funktion
     <function>ingres_rollback</function> aufgerufen wird). Sie knnen
     auch die Funktion <function>ingres_autocommit</function>
     benutzen, bevor Sie eine neue Transaktion ffnen, damit werden
     alle einzelnen SQL-Abfrage sofort gesendet.
    </para>
    <para>
     Einige SQL Abfragen knnen mit dieser Funktion nicht gesendet
     werden:
     <itemizedlist>
      <listitem>
       <simpara>
	close (siehe <function>ingres_close</function>)
       </simpara>
      </listitem>
      <listitem>
       <simpara>
	commit (siehe <function>ingres_commit</function>)
       </simpara>
      </listitem>
      <listitem>
       <simpara>
	connect (siehe <function>ingres_connect</function>)
       </simpara>
      </listitem>
      <listitem>
       <simpara>
	disconnect (siehe <function>ingres_close</function>)
       </simpara>
      </listitem>
      <listitem>
       <simpara>
	get dbevent</simpara>
      </listitem>
      <listitem>
       <simpara>
	prepare to commit</simpara>
      </listitem>
      <listitem>
       <simpara>
        rollback (siehe <function>ingres_rollback</function>)
       </simpara>
      </listitem>
      <listitem>
       <simpara>savepoint</simpara>
      </listitem>
      <listitem>
       <simpara>
        set autocommit (siehe <function>ingres_autocommit</function>)
       </simpara>
      </listitem>
      <listitem>
       <simpara>
	und alle Abfragen, die Cursors benutzen, werden nicht
	untersttzt
       </simpara>
      </listitem>
     </itemizedlist>
    </para>
    <para>
     <example>
      <title><function>ingres_query</function> example</title>
      <programlisting role="php">
&lt;?php
ingres_connect ($database, $user, $password);

ingres_query ("select * from table");
while ($row = ingres_fetch_row()) {
    echo $row[1];
    echo $row[2];
}
?>
      </programlisting>
     </example>
    </para>
    <para>
     Siehe auch
     <function>ingres_fetch_array</function>,
     <function>ingres_fetch_object</function>,
     <function>ingres_fetch_row</function>,
     <function>ingres_commit</function>,
     <function>ingres_rollback</function> und
     <function>ingres_autocommit</function>.
    </para>
   </refsect1>
  </refentry>

  <refentry id="function.ingres-num-rows">
   <refnamediv>
    <refname>ingres_num_rows</refname>
    <refpurpose>
     Gibt die Anzahl der Datenstze der Ergebnismenge zurck oder die
     Anzahl der von der letzten Abfrage betroffenen Datenstze
    </refpurpose>
   </refnamediv>
   <refsect1>
    <title>Beschreibung</title>
     <methodsynopsis>
      <type>int</type><methodname>ingres_num_rows</methodname>
      <methodparam choice="opt"><type>resource</type><parameter>link</parameter></methodparam>
     </methodsynopsis>
    &warn.experimental.func;
    <para>
     Bei delete-, insert- or update-queries, gibt
     <function>ingres_num_rows</function> die Anzahl der durch diese
     Abfragen betroffenen Datenstze zurck. Bei den anderen Abfragen
     gibt <function>ingres_num_rows</function> die Anzahl der
     Datenstze in der Ergebnismenge zurck.
    </para>
    <para>
     <note>
      <simpara>
       Diese Funktion dient hauptschlich dazu, die Anzahl der
       vernderten Datenstze in einer Datenbank festzustellen.
       Wenn diese Funktion aufgerufen wird, bevor
       <function>ingres_fetch_array</function>,
       <function>ingres_fetch_object</function> oder
       <function>ingres_fetch_row</function> aufgerufen wurde, lscht
       der Server die Ergebnisdaten so dass das Skript sie nicht
       auslesen kann.
      </simpara>
      <simpara>
       Sie sollten stattdessen die Daten der Ergebnismenge mit einer
       dieser fetch-Funktionen in einer Schleife auslesen, solange, bis
       keine Datenstze mehr zum Lesen da sind und damit die
       Schleifenbedingung &false; wird.
      </simpara>
     </note>
    </para>
    <para>
     Siehe auch
     <function>ingres_query</function>,
     <function>ingres_fetch_array</function>,
     <function>ingres_fetch_object</function> und
     <function>ingres_fetch_row</function>.
    </para>
   </refsect1>
  </refentry>

  <refentry id="function.ingres-num-fields">
   <refnamediv>
    <refname>ingres_num_fields</refname>
    <refpurpose>
     Gibt die Anzahl der Felder der letzten Abfrage zurck
    </refpurpose>
   </refnamediv>
   <refsect1>
    <title>Beschreibung</title>
     <methodsynopsis>
      <type>int</type><methodname>ingres_num_fields</methodname>
      <methodparam choice="opt"><type>resource</type><parameter>link</parameter></methodparam>
     </methodsynopsis>
    &warn.experimental.func;
    <para>
     <function>ingres_num_fields</function> liefert die Anzahl der
     Felder in der Ergebnismenge zurck, die vom Ingres Server nach
     einem Aufruf von <function>ingres_query</function> zurckgegeben
     wurde.
    </para>
    <para>
     See also
     <function>ingres_query</function>,
     <function>ingres_fetch_array</function>,
     <function>ingres_fetch_object</function> und
     <function>ingres_fetch_row</function>.
    </para>
   </refsect1>
  </refentry>

  <refentry id="function.ingres-field-name">
   <refnamediv>
    <refname>ingres_field_name</refname>
    <refpurpose>
     Holt den Namen eines Feldes in einer Ergebnismenge
    </refpurpose>
   </refnamediv>
   <refsect1>
    <title>Beschreibung</title>
     <methodsynopsis>
      <type>string</type><methodname>ingres_field_name</methodname>
      <methodparam><type>int</type><parameter>index</parameter></methodparam>
      <methodparam choice="opt"><type>resource</type><parameter>link</parameter></methodparam>
     </methodsynopsis>
    &warn.experimental.func;
    <para>
     <function>ingres_field_name</function> gibt den Namen eines
     Feldes in einer Ergebnismenge zurck oder &false;, falls ein
     Fehler aufgetreten ist.
    </para>
    <para>
     <parameter>index</parameter> gibt die Nummer des Feldes an und
     muss zwischen 1 und dem Wert, der von
     <function>ingres_num_fields</function> zurckgegeben wird,
     liegen.
    </para>
    <para>
     Siehe auch
     <function>ingres_query</function>,
     <function>ingres_fetch_array</function>,
     <function>ingres_fetch_object</function> und
     <function>ingres_fetch_row</function>.
    </para>
   </refsect1>
  </refentry>

  <refentry id="function.ingres-field-type">
   <refnamediv>
    <refname>ingres_field_type</refname>
    <refpurpose>
     Gibt den Typ eines Feldes in einer Ergebnismenge zurck
    </refpurpose>
   </refnamediv>
   <refsect1>
    <title>Beschreibung</title>
     <methodsynopsis>
      <type>string</type><methodname>ingres_field_type</methodname>
      <methodparam><type>int</type><parameter>index</parameter></methodparam>
      <methodparam choice="opt"><type>resource</type><parameter>link</parameter></methodparam>
     </methodsynopsis>
    &warn.experimental.func;
    <para>
     <function>ingres_field_type</function> gibt den Typ eines Feldes
     in einer Ergebnismenge zurck oder &false;, wenn ein Fehler
     aufgetreten ist. Beispiele von Rckgabewerten sind:
     "IIAPI_BYTE_TYPE", "IIAPI_CHA_TYPE", "IIAPI_DTE_TYPE",
     "IIAPI_FLT_TYPE", "IIAPI_INT_TYPE", "IIAPI_VCH_TYPE". Einige
     dieser Typen knnen, in Abhngigkeit von der Feldlnge, mehrere
     SQL Typen umfassen.  (siehe
     <function>ingres_field_length</function>). Beispielsweise kann
     "IIAPI_FLT_TYPE" entweder float4 oder float8 sein. Genauere
     Informationen darber finden Sie in dem Ingres/OpenAPI User Guide
     - Appendix C.
    </para>
    <para>
     <parameter>index</parameter> ist die Feldnummer und muss zwischen 1
     und dem Wert liegen, den die Funktion
     <function>ingres_num_fields</function> zurckgibt.
    </para>
    <para>
     See also
     <function>ingres_query</function>,
     <function>ingres_fetch_array</function>,
     <function>ingres_fetch_object</function> und
     <function>ingres_fetch_row</function>.
    </para>
   </refsect1>
  </refentry>

  <refentry id="function.ingres-field-nullable">
   <refnamediv>
    <refname>ingres_field_nullable</refname>
    <refpurpose>
     Prft, ob fr ein Feld NULL-Werte zugelassen sind
    </refpurpose>
   </refnamediv>
   <refsect1>
    <title>Beschreibung</title>
     <methodsynopsis>
      <type>bool</type><methodname>ingres_field_nullable</methodname>
      <methodparam><type>int</type><parameter>index</parameter></methodparam>
      <methodparam choice="opt"><type>resource</type><parameter>link</parameter></methodparam>
     </methodsynopsis>
    &warn.experimental.func;
    <para>
     <function>ingres_field_nullable</function> gibt &true; zurck,
     falls in dieser Spalte &null;-Werte zugelasssen sind und &false;,
     falls das nicht erlaubt ist.
    </para>
    <para>
     <parameter>index</parameter> ist die Feldnummer und muss zwischen
     1 und dem Wert liegen, den die Funktion
     <function>ingres_num_fields</function> zurckgibt.
    </para>
    <para>
     See also
     <function>ingres_query</function>,
     <function>ingres_fetch_array</function>,
     <function>ingres_fetch_object</function> und
     <function>ingres_fetch_row</function>.
    </para>
   </refsect1>
  </refentry>

  <refentry id="function.ingres-field-length">
   <refnamediv>
    <refname>ingres_field_length</refname>
    <refpurpose>Gibt die Lnge eines Feldes zurck</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Beschreibung</title>
     <methodsynopsis>
      <type>int</type><methodname>ingres_field_length</methodname>
      <methodparam><type>int</type><parameter>index</parameter></methodparam>
      <methodparam choice="opt"><type>resource</type><parameter>link</parameter></methodparam>
     </methodsynopsis>
        &warn.experimental.func;
    <para>
     <function>ingres_field_length</function> gibt die Lnge eines
     Feldes zurck. Das ist die Anzahl der Bytes, die der Server zum
     Speichern des Feldes belegt. Fr genauere Informationen schauen
     sie in den Ingres/OpenAPI User Guide - Appendix C.
    </para>
    <para>
     <parameter>index</parameter> ist die Feldnummer und muss zwischen
     1 und dem Wert liegen, den die Funktion
     <function>ingres_num_fields</function> zurckgibt.
    </para>
    <para>
     See also
     <function>ingres_query</function>,
     <function>ingres_fetch_array</function>,
     <function>ingres_fetch_object</function> und
     <function>ingres_fetch_row</function>.
    </para>
   </refsect1>
  </refentry>

  <refentry id="function.ingres-field-precision">
   <refnamediv>
    <refname>ingres_field_precision</refname>
    <refpurpose>Gibt die Genauigkeit eines Feldes zurck</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Beschreibung</title>
     <methodsynopsis>
      <type>int</type><methodname>ingres_field_precision</methodname>
      <methodparam><type>int</type><parameter>index</parameter></methodparam>
      <methodparam choice="opt"><type>resource</type><parameter>link</parameter></methodparam>
     </methodsynopsis>
    &warn.experimental.func;
    <para>
     <function>ingres_field_precision</function> gibt die Genauigkeit
     eines Feldes zurck. Dieser Rckgabewert wird nur fr
     Dezimalzahlen, Fliesskommazahlen und monetre SQL Datentypen
     benutzt. Wenn Sie es genauer wissen wollen, schauen Sie sich den
     Ingres/OpenAPI User Guide - Appendix C an.
    </para>
    <para>
     <parameter>index</parameter> ist die Feldnummer und muss zwischen
     1 und dem Wert liegen, den die Funktion
     <function>ingres_num_fields</function> zurckgibt.
    </para>
    <para>
     Siehe auch
     <function>ingres_query</function>,
     <function>ingres_fetch_array</function>,
     <function>ingres_fetch_object</function> und
     <function>ingres_fetch_row</function>.
    </para>
   </refsect1>
  </refentry>

  <refentry id="function.ingres-field-scale">
   <refnamediv>
    <refname>ingres_field_scale</refname>
    <refpurpose>Gibt den Skalar eines Feldes zurck</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Beschreibung</title>
     <methodsynopsis>
      <type>int</type><methodname>ingres_field_scale</methodname>
      <methodparam><type>int</type><parameter>index</parameter></methodparam>
      <methodparam choice="opt"><type>resource</type><parameter>link</parameter></methodparam>
     </methodsynopsis>
    &warn.experimental.func;
    <para>
     <function>ingres_field_scale</function> gibt den Skalar eines
     Feldes zurck.Dieser Rckgabewert wird nur fr Dezimalzahlen,
     Fliesskommazahlen und monetre SQL Datentypen benutzt. Fr nhere
     Informationen schauen Sie sich den Ingres/OpenAPI User Guide -
     Appendix C an.
    </para>
    <para>
     <parameter>index</parameter> ist die Feldnummer und muss zwischen
     1 und dem Wert liegen, den die Funktion
     <function>ingres_num_fields</function> zurckgibt.
    </para>
    <para>
     Siehe auch
     <function>ingres_query</function>,
     <function>ingres_fetch_array</function>,
     <function>ingres_fetch_object</function> und
     <function>ingres_fetch_row</function>.
    </para>
   </refsect1>
  </refentry>

  <refentry id="function.ingres-fetch-array">
   <refnamediv>
    <refname>ingres_fetch_array</refname>
    <refpurpose>
     Liest eine Zeile der Ergebnismenge in ein Array ein
    </refpurpose>
   </refnamediv>
   <refsect1>
    <title>Beschreibung</title>
     <methodsynopsis>
      <type>array</type><methodname>ingres_fetch_array</methodname>
      <methodparam choice="opt"><type>int</type><parameter>result_type</parameter></methodparam>
      <methodparam choice="opt"><type>resource</type><parameter>link</parameter></methodparam>
     </methodsynopsis>
    &warn.experimental.func;
    <para>
     <function>ingres_fetch_array</function> Gibt ein Array zurck, das
     die die entsprechende Zeile der Ergebnismenge enthlt oder &false;
     falls das die Ergebnismenge keine Zeilen mehr enthlt.
    </para>
    <para>
     Diese Funktion ist eine erweiterte Version der Funktion
     <function>ingres_fetch_row</function>. Zustzlich zur Speicherung
     der Daten unter numerischen Indizes  werden die Daten auch unter
     assoziativen Indizes im Ergebnisarray gespeichert, in dem die
     Feldnamen als Schlssel benutzt werden.
    </para>
    <para>
     Falls eine oder mehrere Spalten der Ergebnismenge dieselben
     Feldnamen haben, bekommt die letzte Spalte die Prioritt. Um auf
     die anderen Spalten zuzugreifen, mssen sie entweder den
     numerischen Index der Spalte benutzen oder Aliase fr die Spalten
     machen.
     <informalexample>
      <programlisting>
ingres_query(select t1.f1 as foo t2.f1 as bar from t1, t2);
$result = ingres_fetch_array();
$foo = $result["foo"];
$bar = $result["bar"];
      </programlisting>
     </informalexample>
    </para>
    <para>
     <parameter>result_type</parameter> kann INGRES_NUM fr ein
     numerisches Array sein oder INGRES_ASSOC fr ein assoziatives
     Array, oder INGRES_BOTH (Standard).
    </para>
    <para>
     Von der Geschwindigkeit her ist diese Funktion identisch zu
     <function>ingres_fetch_object</function>, und fast so schnell wie
     <function>ingres_fetch_row</function> (der Unterschied ist zu
     vernachlssigen).
    </para>
    <para>
     <example>
      <title><function>ingres_fetch_array</function> Beispiel</title>
      <programlisting role="php">
&lt;?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];
}
?>
      </programlisting>
     </example>
    </para>
    <para>
     See also
     <function>ingres_query</function>,
     <function>ingres_num_fields</function>,
     <function>ingres_field_name</function>,
     <function>ingres_fetch_object</function> und
     <function>ingres_fetch_row</function>.
    </para>
   </refsect1>
  </refentry>

  <refentry id="function.ingres-fetch-row">
   <refnamediv>
    <refname>ingres_fetch_row</refname>
    <refpurpose>
     Holt eine Zeile aus einer Ergebnismenge in ein numerisches Array
    </refpurpose>
   </refnamediv>
   <refsect1>
    <title>Beschreibung</title>
     <methodsynopsis>
      <type>array</type><methodname>ingres_fetch_row</methodname>
      <methodparam choice="opt"><type>resource</type><parameter>link</parameter></methodparam>
     </methodsynopsis>
    &warn.experimental.func;
    <para>
     <function>ingres_fetch_row</function> gibt ein Array zurck, das
     die entsprechende Zeile der Ergebnismenge enthlt oder &false;,
     falls es keine Zeilen mehr in der Ergebnismenge gibt. Jede Spalte
     ist unter einem Array-Offset, beginnend mit 1, gespeichert.
    </para>
    <para>
     Aufeinanderfolgende Aufrufe von
     <function>ingres_fetch_row</function> wrden immer die nchste
     Zeile der Ergebnismenge zurckgeben oder &false;, wenn es keine
     Zeilen mehr gibt.
    </para>
    <para>
     <example>
      <title><function>ingres_fetch_row</function> Beispiel</title>
      <programlisting role="php">
&lt;?php
ingres_connect ($database, $user, $password);

ingres_query ("select * from table");
while ($row = ingres_fetch_row()) {
    echo $row[1];
    echo $row[2];
}
?>
      </programlisting>
     </example>
    </para>
    <para>
     Siehe auch
     <function>ingres_num_fields</function>,
     <function>ingres_query</function>,
     <function>ingres_fetch_array</function> und
     <function>ingres_fetch_object</function>.
    </para>
   </refsect1>
  </refentry>

  <refentry id="function.ingres-fetch-object">
   <refnamediv>
    <refname>ingres_fetch_object</refname>
    <refpurpose>Holt eine Zeile als Objekt</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Beschreibung</title>
     <methodsynopsis>
      <type>object</type><methodname>ingres_fetch_object</methodname>
      <methodparam choice="opt"><type>int</type><parameter>result_type</parameter></methodparam>
      <methodparam choice="opt"><type>resource</type><parameter>link</parameter></methodparam>
     </methodsynopsis>
        &warn.experimental.func;
    <para>
     <function>ingres_fetch_object</function> Gibt ein Objekt zurck,
     das mit der geholten Zeile einer Ergebnismenge korrespondiert
     oder &false;, wenn es keine Zeilen mehr in der Egebnismenge gibt.
    </para>
    <para>
     Diese Funktion ist hnlich zu
     <function>ingres_fetch_array</function>, mit einem Unterschied -
     ein Objekt wird anstelle eines Arrays zurckgegeben. Indirekt
     heisst das, dass Sie die Daten nur ber ihre Feldnamen ansprechen
     knnen und nicht ber ihre Offsets (Zahlen sind unzulssige Namen
     fr Objekteigenschaften).
    </para>
    <para>
     Das optionale Argument <parameter>result_type</parameter> ist
     eine Konstante, die die folgenden Werte annehmen kann:
     INGRES_ASSOC, INGRES_NUM und INGRES_BOTH.
    </para>
    <para>
     Diese Funktion ist von der Geschwindigkeit her identisch zu
     <function>ingres_fetch_array</function>, und fast so schnell wie
     <function>ingres_fetch_row</function> (der Unterschied ist zu
     vernachlssigen).
    </para>
    <para>
     <example>
      <title><function>ingres_fetch_object</function> Beispiel</title>
      <programlisting role="php">
&lt;?php
ingres_connect ($database, $user, $password);
ingres_query ("select * from table");
while ($row = ingres_fetch_object()) {
    echo $row->user_id;
    echo $row->fullname;
}
?>
      </programlisting>
     </example>
    </para>
    <para>
     Siehe auch
     <function>ingres_query</function>,
     <function>ingres_num_fields</function>,
     <function>ingres_field_name</function>,
     <function>ingres_fetch_array</function> und
     <function>ingres_fetch_row</function>.
    </para>
   </refsect1>
  </refentry>

  <refentry id="function.ingres-rollback">
   <refnamediv>
    <refname>ingres_rollback</refname>
    <refpurpose>Setzt eine Transaktion zurck</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Beschreibung</title>
     <methodsynopsis>
      <type>bool</type><methodname>ingres_rollback</methodname>
      <methodparam choice="opt"><type>resource</type><parameter>link</parameter></methodparam>
     </methodsynopsis>
    &warn.experimental.func;
    <para>
     <function>ingres_rollback</function> setzt die aktuell geffnete
     Transaktion zurck und macht alle nderungen, die in der
     Transaktion bereits durchgefhrt wurden, wieder rckgngig.
    </para>
    <para>
     Diese Funktion schliesst die Transaktion. Eine Neue Transaktion
     kann geffnet werden, wenn man mit
     <function>ingres_query</function> eine neue Abfrage an den
     Datenbankserver schickt.
    </para>
    <para>
     Siehe auch
     <function>ingres_query</function>,
     <function>ingres_commit</function> und
     <function>ingres_autocommit</function>.
    </para>
   </refsect1>
  </refentry>

  <refentry id="function.ingres-commit">
   <refnamediv>
    <refname>ingres_commit</refname>
    <refpurpose>Schliesst eine Transaktion ab</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Beschreibung</title>
     <methodsynopsis>
      <type>bool</type><methodname>ingres_commit</methodname>
      <methodparam choice="opt"><type>resource</type><parameter>link</parameter></methodparam>
     </methodsynopsis>
    &warn.experimental.func;
    <para>
     <function>ingres_commit</function> schliesst die aktuell offene
     Transaktion ab, indem alle Vernderungen in die Datenbank
     bernommen werden.
    </para>
    <para>
     Dadurch wird die Transaktion beendet. Eine neue Transaktion kann
     geffnet werden, indem man eine neue Abfrage mit
     <function>ingres_query</function> an den Datenbankserver schickt.
    </para>
    <para>
     Sie knnen auch den Server automatisch nach jeder Abfrage einen
     Commit ausfhren lassen, wenn sie die Funktion
     <function>ingres_autocommit</function> aufrufen, bevor Sie die
     Transaktion ffnen.
    </para>
    <para>
     Siehe auch
     <function>ingres_query</function>,
     <function>ingres_rollback</function> und
     <function>ingres_autocommit</function>.
    </para>
   </refsect1>
  </refentry>

  <refentry id="function.ingres-autocommit">
   <refnamediv>
    <refname>ingres_autocommit</refname> 
    <refpurpose>
     Schaltet den autocommit-Modus an oder aus
    </refpurpose>
   </refnamediv>
   <refsect1>
    <title>Beschreibung</title>
     <methodsynopsis>
      <type>bool</type><methodname>ingres_autocommit</methodname>
      <methodparam choice="opt"><type>resource</type><parameter>link</parameter></methodparam>
     </methodsynopsis>
    &warn.experimental.func;
    <para>
     <function>ingres_autocommit</function> wird vor dem ffnen einer
     Transaktion aufgerufen (vor dem ersten Aufruf der Funktion
     <function>ingres_query</function> oder gleich nach einem Aufruf
     von <function>ingres_rollback</function> oder
     <function>ingres_autocommit</function>) um in den "autocommit"
     Modus des Servers ein- oder auszuschalten (beim Beginn eines
     Skripts ist der autocommit-Modus ausgeschaltet).
    </para>
    <para>
     Wenn der autocommit-Modus eingeschaltet ist, wird jede Abfrage
     automatisch sofort vom Server commited, so als wrde die Funktion
     <function>ingres_commit</function> nach jedem Aufruf von
     <function>ingres_query</function> aufgerufen werden.
    </para>
    <para>
     Siehe auch
     <function>ingres_query</function>,
     <function>ingres_rollback</function> und
     <function>ingres_commit</function>.
    </para>
   </refsect1>
  </refentry>

 </reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->