Forum und email

ifx_getsqlca

(No version information available, might be only in CVS)

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.

Example#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";
?>