ifx_getsqlca

ifx_getsqlca -- Gibt den Inhalt von sqlca.sqlerrd[0..5] nach einer Abfrage zurück

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"

 
;