Signatur
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
- Wenn
attreinstringist: Gibt den Wert der Spalte alsstringzurück. - Wenn
attreinarrayodernullist: Gibt ein assoziativesarrayder Spaltenname-Wert-Paare zurück. - Im Fehlerfall wird
falsezurü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);
?>
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);
?>
// 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.