Function.ifx-getsqlca
Aus PHP-Wiki
ifx_getsqlca — Gibt den Inhalt von sqlca.sqlerrd[0..5] nach einer Abfrage zurück
Beschreibung
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
<?php
/* 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) {
/* ... Fehler ... */
}
$sqlca = ifx_getsqlca($qid);
$serial_value = $sqlca["sqlerrd1"];
echo "Der Wert des SERIAL-Feldes der eingefügten Zeile ist: " . $serial_value<br />\n";
?>