Beschreibung
array
ifx_getsqlca
( int result_id)
result_id
ist
eine
gültige
Ergebniskennung
,
die
von
ifx_query(
)
oder
ifx_prepare(
)
zurückgegeben
wurde
.
Diese
Funktion
gibt
nach
einer
Abfrage
,
die
mit
result_id
verknüpft
ist
,
eine
Pseudo-Zeile
(
assoziatives
Array
)
mit
sqlca.sqlerrd[0
]
..
.
sqlca.sqlerrd[5
]
zurück
.
Bei
INSERTs
,
UPDATEs
und
DELETEs
sind
die
zurückgegebenen
Werte
die
,
die
der
Server
nach
dem
Ausführen
der
Abfrage
setzt
.
Dadurch
bekommt
man
Zugriff
auf
die
Anzahl
der
betroffenen
Zeilen
und
auf
den
Eingabewert
eines
Serial-Feldes
.
Bei
SELECTs
sind
das
die
Werte
,
die
nach
einem
PREPARE-Kommando
gespeichert
wurden
.
Hier
hat
man
Zugriff
auf
die
*geschätzte*
Anzahl
der
betroffenen
Zeilen
.
Der
Gebrauch
dieser
Funktion
erspart
den
Overhead
für
die
Ausführung
einer
"
select
dbinfo('sqlca.sqlerrdx')
"-Abfrage
,
weil
hier
die
Werte
gelesen
werden
,
die
der
ifx-Treiber
im
passenden
Moment
gespeichert
hat
.
Beispiel
1
.
Informix
sqlca.sqlerrd[
x
]
Werte
ermitteln
/*
angenommen
,
das
erste
Feld
von
'
sometable
'
ist
vom
Typ
SERIAL
*
/
$qid
=
ifx_query("insert
into
sometable
values
(0
,
'2nd
column'
,
'another
column'
)
"
,
$connid)
;
if
(
!
$qid
)
{
..
.
error
..
.
}
$sqlca
=
ifx_getsqlca
($qid)
;
$serial_value
=
$sqlca["sqlerrd1"]
;
echo
"Der
Wert
des
SERIAL-Feldes
der
eingefügten
Zeile
ist
:
"
.
$serial_value
br
\n"
;
|
|