Signatur
Beschreibung
cubrid_get_query_timeout() liest den Timeout-Wert aus, der für eine bestimmte CUBRID-Datenbankabfrage (Request) festgelegt wurde. Der Wert wird in Millisekunden zurückgegeben. Ein Timeout von 0 bedeutet, dass kein Limit gesetzt ist.
Diese Funktion ist nützlich, wenn nach dem Setzen eines Timeouts via cubrid_set_query_timeout() überprüft werden soll, ob der gewünschte Wert korrekt übernommen wurde, oder wenn der aktuelle Stand vor einer dynamischen Anpassung ausgelesen werden soll.
Der Request-Handle ($req_identifier) wird in der Regel durch Funktionen wie cubrid_prepare() oder cubrid_execute() erzeugt. Der Handle muss gültig und aktiv sein, damit die Funktion korrekt arbeitet.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $req_identifier Pflicht | resource | Ein gültiger CUBRID-Request-Handle, der zuvor z. B. mit cubrid_prepare() oder cubrid_execute() erzeugt wurde. |
Rückgabewert
0 bedeutet, dass kein Timeout gesetzt ist (unbegrenzt). Im Fehlerfall wird false zurückgegeben.Beispiele
Timeout auslesen und anzeigen
<?php
$conn = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
if (!$conn) {
die('Verbindung fehlgeschlagen');
}
$req = cubrid_prepare($conn, 'SELECT * FROM nation');
if (!$req) {
die('Prepare fehlgeschlagen');
}
// Aktuellen Timeout auslesen (Standardwert)
$timeout = cubrid_get_query_timeout($req);
echo 'Aktueller Abfrage-Timeout: ' . $timeout . ' ms' . PHP_EOL;
cubrid_close_request($req);
cubrid_disconnect($conn);
?>
Timeout setzen und anschließend prüfen
<?php
$conn = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
if (!$conn) {
die('Verbindung fehlgeschlagen');
}
$req = cubrid_prepare($conn, 'SELECT * FROM athlete');
if (!$req) {
die('Prepare fehlgeschlagen');
}
// Timeout auf 5000 ms (5 Sekunden) setzen
cubrid_set_query_timeout($req, 5000);
// Prüfen, ob der Wert korrekt gesetzt wurde
$timeout = cubrid_get_query_timeout($req);
if ($timeout === 5000) {
echo 'Timeout korrekt gesetzt: ' . $timeout . ' ms' . PHP_EOL;
} else {
echo 'Unerwarteter Timeout-Wert: ' . $timeout . ' ms' . PHP_EOL;
}
cubrid_close_request($req);
cubrid_disconnect($conn);
?>
// Wichtig · Fallstricke
Hinweis: Diese Funktion ist nur verfügbar, wenn PHP mit der CUBRID-Erweiterung kompiliert wurde. Sie steht nicht in der Standard-PHP-Distribution zur Verfügung und muss als Erweiterung (php_cubrid.dll bzw. cubrid.so) eingebunden sein.
Ein Timeout-Wert von 0 bedeutet, dass Abfragen unbegrenzt lange laufen dürfen. In Produktionsumgebungen empfiehlt es sich, immer einen sinnvollen Timeout-Wert zu setzen, um hängende Abfragen und damit verbundene Ressourcenprobleme zu vermeiden.