odbc_setoption

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_setoptionODBC-Einstellungen anpassen

Beschreibung

odbc_setoption(
    Odbc\Connection|Odbc\Result $odbc,
    int $which,
    int $option,
    int $value
): bool

Diese Funktion erlaubt das Einstellen der ODBC-Optionen für eine einzelne Verbindung oder ein Abfrageergebnis. Sie soll beim Auffinden und Beheben von Problemen mit ODBC-Treibern helfen. Es empfiehlt sich, diese Funktion nur zu nutzen, wenn man einige Erfahrung mit ODBC-Programmierung gesammelt hat und die Wirkungen der einzelnen Parameter kennt. Es wird sicherlich nötig sein, eine gute ODBC-Referenz zur Hand zu haben, um all die unterschiedlichen Optionen und Werte, die verwendet werden können, zu erklären. Unterschiedliche Treiberversionen unterstützen unterschiedliche Optionen.

Weil die Effekte je nach ODBC-Treiber unterschiedlich sein können, wird unbedingt davon abgeraten, Skripte mit dieser Funktion zu veröffentlichen. Einige ODBC-Optionen stehen dieser Funktion nicht zur Verfügung, weil sie vor dem Aufbau einer ODBC-Verbindung oder vor der Vorbereitung der Abfrage eingestellt sein müssen. In einigen Fällen hilft diese Funktion allerdings zu vermeiden, dass man von seinem Vorgesetzten gezwungen wird, ein kommerzielles Programm einzusetzen - und darauf kommt es doch an.

Parameter-Liste

odbc

Ist die Verbindungs- oder Ergebniskennung, deren Einstellungen geändert werden sollen. Bei SQLSetConnectOption() ist es eine Verbindungskennung, bei SQLSetStmtOption() eine Ergebniskennung.

which

Ist die ODBC-Funktion, die genutzt werden soll. Die Werte sind 1 für SQLSetConnectOption() und 2 für SQLSetStmtOption().

option

Die zu ändernde Option.

value

Der Wert für die angegebene option.

Rückgabewerte

Gibt bei Erfolg true zurück. Bei einem Fehler wird false zurückgegeben.

Changelog

Version Beschreibung
8.4.0 odbc erwartet nun eine Instanz von Odbc\Connection oder Odbc\Result; zuvor wurde eine Ressource erwartet.

Beispiele

Beispiel #1 odbc_setoption()-Beispiele

<?php
// 1. Option 102 von SQLSetConnectOption() ist SQL_AUTOCOMMIT.
// Wert 1 für SQL_AUTOCOMMIT entspricht SQL_AUTOCOMMIT_ON.
// Dieses Beispiel hat denselben Effekt wie
// odbc_autocommit($conn, true);

odbc_setoption($conn, 1, 102, 1);

// 2. Option 0 von SQLSetStmtOption() ist SQL_QUERY_TIMEOUT.
// Dieses Beispiel setzt den Timeout auf 30 Sekunden.

$result = odbc_prepare($conn, $sql);
odbc_setoption($result, 2, 0, 30);
odbc_execute($result);
?>