Start · Sprachen · PHP · Referenz · db2_get_option

db2_get_option

Funktion

Liest den aktuellen Wert einer Option von einer <code>db2</code>-Statement- oder Verbindungsressource.

seit PHP 5.1.0 Kategorie: db

Signatur

db2_get_option(resource $resource, string $option): string|false

Beschreibung

db2_get_option() gibt den Wert einer bestimmten Option zurück, die für eine IBM-DB2-, Cloudscape- oder Apache-Derby-Verbindungs- oder Statement-Ressource gesetzt wurde. Die Funktion ist das Gegenstück zu db2_set_option() und erlaubt es, den aktuellen Zustand von Verbindungs- oder Statement-Optionen zur Laufzeit abzufragen.

Typische Anwendungsfälle sind die Diagnose von Verbindungsproblemen, das Überprüfen gesetzter Cursor-Typen oder das Auslesen von Client-Informationen wie db2_client_info-ähnlichen Attributen (z. B. SQL_ATTR_INFO_PROGRAMNAME). Die Funktion ist besonders nützlich, wenn man sicherstellen möchte, dass eine Option tatsächlich übernommen wurde, bevor eine Datenbankoperation ausgeführt wird.

Als $resource kann sowohl eine durch db2_connect() oder db2_pconnect() erzeugte Verbindungsressource als auch eine durch db2_prepare() oder db2_exec() erzeugte Statement-Ressource übergeben werden. Der $option-Parameter muss ein gültiger, unterstützter Optionsname sein – ungültige Namen führen zur Rückgabe von false.

Parameter

Name Typ Default Beschreibung
$resource Pflicht resource Eine gültige DB2-Verbindungsressource (z. B. aus db2_connect()) oder eine Statement-Ressource (z. B. aus db2_prepare()).
$option Pflicht string Der Name der abzufragenden Option, z. B. 'autocommit', 'cursor', 'db2_attr_case' oder 'SQL_ATTR_INFO_PROGRAMNAME'.

Rückgabewert

Typ
string|false
Beschreibung
Gibt den aktuellen Wert der angegebenen Option als string zurück. Wenn die Option unbekannt ist, die Ressource ungültig ist oder ein anderer Fehler auftritt, wird false zurückgegeben.

Beispiele

Autocommit-Einstellung einer Verbindung auslesen

<?php
$conn = db2_connect('DATENBANK', 'benutzer', 'passwort');

if ($conn) {
    // Autocommit-Status abfragen
    $autocommit = db2_get_option($conn, 'autocommit');

    if ($autocommit !== false) {
        echo 'Autocommit: ' . $autocommit . PHP_EOL;
    } else {
        echo 'Option konnte nicht gelesen werden.' . PHP_EOL;
    }

    db2_close($conn);
} else {
    echo 'Verbindung fehlgeschlagen: ' . db2_conn_errormsg();
}
Autocommit: 1

Programmnamen einer Verbindung setzen und anschließend prüfen

<?php
$conn = db2_connect('DATENBANK', 'benutzer', 'passwort');

if ($conn) {
    // Option setzen
    $optionen = ['db2_attr_case' => DB2_CASE_UPPER];
    db2_set_option($conn, $optionen, 1);

    // Option wieder auslesen und prüfen
    $wert = db2_get_option($conn, 'db2_attr_case');

    if ($wert !== false) {
        echo 'db2_attr_case ist gesetzt auf: ' . $wert . PHP_EOL;
    } else {
        echo 'Optionswert konnte nicht ermittelt werden.' . PHP_EOL;
    }

    db2_close($conn);
}
db2_attr_case ist gesetzt auf: 1

Cursor-Typ einer Statement-Ressource abfragen

<?php
$conn = db2_connect('DATENBANK', 'benutzer', 'passwort');

if ($conn) {
    $stmt = db2_prepare($conn, 'SELECT * FROM produkte');

    if ($stmt) {
        $cursor = db2_get_option($stmt, 'cursor');
        echo 'Cursor-Typ: ' . ($cursor !== false ? $cursor : 'unbekannt') . PHP_EOL;
    }

    db2_close($conn);
}
Cursor-Typ: 0

// Wichtig · Fallstricke

Verfügbarkeit: db2_get_option() ist Teil der ibm_db2-Extension, die separat installiert werden muss (pecl install ibm_db2). Ohne diese Extension steht die Funktion nicht zur Verfügung.

Optionsnamen: Die unterstützten Optionsnamen hängen von der installierten IBM-DB2-Version und dem Typ der Ressource ab. Ein ungültiger oder nicht unterstützter Optionsname führt zur Rückgabe von false, ohne dass eine PHP-Fehlermeldung ausgegeben wird – daher sollte der Rückgabewert stets mit === false geprüft werden.

Ressourcentyp: Verbindungsoptionen (Typ 1) und Statement-Optionen (Typ 2) unterscheiden sich. Beim Aufruf von db2_set_option() wird der Typ explizit angegeben; beim Lesen ermittelt db2_get_option() den Typ automatisch anhand der übergebenen Ressource.