(PHP 4, PHP <=5.2.0)
ifx_getsqlca — Gibt den Inhalt von sqlca.sqlerrd[0..5] nach einer Abfrage zurück
$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";
?>