Start · Sprachen · PHP · Referenz · cubrid_get

cubrid_get

Funktion

Gibt den Wert einer oder mehrerer Spalten eines bestimmten Datensatzes anhand seiner OID aus einer CUBRID-Datenbank zurück.

seit PHP 8.3.1 Kategorie: db

Signatur

cubrid_get(resource $conn_identifier, string $oid, mixed $attr = null): mixed

Beschreibung

cubrid_get ermöglicht den direkten Zugriff auf Spalten eines Datensatzes in einer CUBRID-Datenbank über die OID (Object Identifier) des Datensatzes. Die OID ist ein eindeutiger Bezeichner, der jeden Datensatz in CUBRID identifiziert und direkten Zugriff ohne erneute Abfrage ermöglicht.

Der Parameter attr erlaubt es, gezielt eine einzelne Spalte (als String) oder eine Liste von Spalten (als Array) abzurufen. Wird attr weggelassen oder auf null gesetzt, gibt die Funktion alle Spalten des Datensatzes als assoziatives Array zurück.

Diese Funktion ist besonders nützlich, wenn die OID eines Datensatzes bereits bekannt ist – etwa nach einem cubrid_insert-Aufruf oder aus einem vorherigen Abfrageergebnis –, da dadurch ein vollständiger SQL-SELECT-Durchlauf vermieden werden kann.

Im Fehlerfall (z. B. ungültige OID oder Verbindungsproblem) gibt die Funktion false zurück.

Parameter

Name Typ Default Beschreibung
$conn_identifier Pflicht resource Die CUBRID-Verbindungsressource, die mit cubrid_connect oder cubrid_connect_with_url geöffnet wurde.
$oid Pflicht string Der OID (Object Identifier) des gewünschten Datensatzes, z. B. '@620|1|0'. Die OID ist in CUBRID ein eindeutiger, datensatzspezifischer Bezeichner.
$attr mixed null Name einer einzelnen Spalte als string, eine Liste von Spaltennamen als array oder null (Standard) um alle Spalten zurückzugeben.

Rückgabewert

Typ
mixed
Beschreibung
  • Wenn attr ein string ist: Gibt den Wert der Spalte als string zurück.
  • Wenn attr ein array oder null ist: Gibt ein assoziatives array der Spaltenname-Wert-Paare zurück.
  • Im Fehlerfall wird false zurückgegeben.

Beispiele

Alle Spalten eines Datensatzes per OID abrufen

<?php
$conn = cubrid_connect('localhost', 33000, 'demodb', 'public', '');

// OID eines bekannten Datensatzes in der Tabelle 'person'
$oid = '@620|1|0';

// Alle Spalten abrufen
$row = cubrid_get($conn, $oid);

if ($row !== false) {
    foreach ($row as $column => $value) {
        echo $column . ': ' . $value . PHP_EOL;
    }
} else {
    echo 'Fehler beim Abrufen des Datensatzes.';
}

cubrid_disconnect($conn);
?>
id: 1 name: John Doe email: john@example.com

Einzelne Spalte per OID abrufen

<?php
$conn = cubrid_connect('localhost', 33000, 'demodb', 'public', '');

$oid = '@620|1|0';

// Nur den Wert der Spalte 'name' abrufen
$name = cubrid_get($conn, $oid, 'name');

if ($name !== false) {
    echo 'Name: ' . $name . PHP_EOL;
} else {
    echo 'Fehler beim Abrufen der Spalte.';
}

// Mehrere Spalten als Array abrufen
$data = cubrid_get($conn, $oid, ['name', 'email']);

if ($data !== false) {
    echo 'Name: ' . $data['name'] . PHP_EOL;
    echo 'E-Mail: ' . $data['email'] . PHP_EOL;
} else {
    echo 'Fehler beim Abrufen der Spalten.';
}

cubrid_disconnect($conn);
?>
Name: John Doe Name: John Doe E-Mail: john@example.com

// Wichtig · Fallstricke

Hinweis zur OID: Die OID ist datenbankinstanz-spezifisch und kann sich nach einem Neustart oder einem Dump/Restore ändern. OIDs sollten daher nicht dauerhaft außerhalb der Datenbanksitzung gespeichert oder als stabiler Primärschlüsselersatz verwendet werden.

Fehlerbehandlung: Eine ungültige OID oder eine nicht existierende Spalte führt zur Rückgabe von false. Es empfiehlt sich, den Rückgabewert mit === false zu prüfen, da leere Strings oder 0 als gültige Spaltenwerte zurückgegeben werden können.

CUBRID-Erweiterung: Diese Funktion ist spezifisch für die CUBRID-PHP-Erweiterung und steht nicht bei anderen Datenbanksystemen zur Verfügung. Die CUBRID-Erweiterung muss kompiliert und in der php.ini aktiviert sein.