Signatur
Beschreibung
cubrid_lob2_size() ermittelt die Größe eines LOB-Objekts (Large Object), das zuvor über eine CUBRID-Datenbankverbindung geöffnet wurde. Der Rückgabewert gibt die Anzahl der Bytes (bei BLOB) bzw. Zeichen (bei CLOB) an, die das LOB-Objekt enthält.
LOB-Objekte werden in CUBRID verwendet, um große Binär- oder Textdaten zu speichern, die über die normalen Feldgrößen hinausgehen – z. B. Bilder, Dokumente oder große Texte. Bevor man Daten aus einem LOB liest oder in Puffer aufteilt, ist es sinnvoll, die Gesamtgröße mit dieser Funktion zu ermitteln, um etwa den Lesevorgang korrekt zu steuern oder Puffer passend zu dimensionieren.
Das LOB-Objekt muss zuvor mit Funktionen wie cubrid_lob2_new() oder über ein Abfrageergebnis (z. B. cubrid_lob2_bind()) erzeugt worden sein. Nach der Verwendung sollte das LOB-Objekt mit cubrid_lob2_close() geschlossen werden.
Beachte, dass die Funktion false zurückgibt, wenn das übergebene Handle ungültig ist oder ein Fehler auftritt.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $lob_identifier Pflicht | resource | Ein gültiges LOB-Ressource-Handle, das durch cubrid_lob2_new() oder aus einem CUBRID-Abfrageergebnis stammt. |
Rückgabewert
false zurück, wenn ein Fehler auftritt oder das Handle ungültig ist.Beispiele
Größe eines BLOB-Objekts ermitteln
<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");
// Neue BLOB-LOB-Ressource erzeugen
$lob = cubrid_lob2_new($conn, "BLOB");
// Binärdaten in das LOB schreiben
$data = str_repeat("A", 1024); // 1024 Bytes
cubrid_lob2_write($lob, $data);
// Größe des LOB ermitteln
$size = cubrid_lob2_size($lob);
if ($size !== false) {
echo "LOB-Größe: " . $size . " Bytes\n";
} else {
echo "Fehler beim Ermitteln der LOB-Größe.\n";
}
cubrid_lob2_close($lob);
cubrid_disconnect($conn);
?>
Größe eines aus einer Abfrage gelesenen CLOBs bestimmen
<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");
$result = cubrid_query("SELECT content FROM articles WHERE id = 1", $conn);
$row = cubrid_fetch($result, CUBRID_LOB);
if (isset($row['content'])) {
$lob = $row['content'];
$size = cubrid_lob2_size($lob);
if ($size !== false) {
echo "CLOB-Größe: " . $size . " Zeichen\n";
}
cubrid_lob2_close($lob);
}
cubrid_close_request($result);
cubrid_disconnect($conn);
?>
// Wichtig · Fallstricke
Hinweis zur Größeneinheit: Bei BLOB-Objekten wird die Größe in Bytes, bei CLOB-Objekten in Zeichen zurückgegeben. Bei Multibyte-Zeichensätzen kann die Zeichenanzahl von der Byteanzahl abweichen.
Verfügbarkeit: Diese Funktion ist nur verfügbar, wenn PHP mit der CUBRID-Erweiterung kompiliert wurde (--with-cubrid). CUBRID wird vor allem im koreanischen Raum eingesetzt; die Erweiterung ist im PECL-Repository verfügbar.
Ressourcen schließen: LOB-Objekte sollten nach der Verwendung immer mit cubrid_lob2_close() geschlossen werden, um Speicherlecks zu vermeiden.