Start · Sprachen · PHP · Referenz · cubrid_result

cubrid_result

Funktion

Gibt den Wert eines bestimmten Feldes in einer bestimmten Zeile eines CUBRID-Abfrageergebnisses zurück.

seit PHP 8.3.1 Kategorie: db

Signatur

cubrid_result(resource $result, int $row, mixed $field = 0): string|false

Beschreibung

cubrid_result() liest aus einem CUBRID-Abfrageergebnis-Handle den Wert eines einzelnen Feldes an der angegebenen Zeilen- und Spaltenposition. Die Funktion ist nützlich, wenn nur ein einzelner Wert aus einer Ergebnismenge benötigt wird, ohne den internen Zeilenzeiger zu verschieben oder die gesamte Zeile abzurufen.

Der Parameter $field kann entweder als numerischer Index (0-basiert) oder als Spaltenname (String) angegeben werden. Bei Verwendung eines Spaltennamens kann optional ein Tabellenpräfix der Form tabelle.spalte genutzt werden, um bei JOIN-Abfragen Mehrdeutigkeiten aufzulösen.

Die Funktion eignet sich besonders für einfache Abfragen wie SELECT COUNT(*) oder ähnliche Aggregat-Abfragen, bei denen nur ein einzelner skalarer Wert erwartet wird. Für das Abrufen kompletter Zeilen sollten stattdessen cubrid_fetch_row() oder cubrid_fetch_assoc() verwendet werden.

Parameter

Name Typ Default Beschreibung
$result Pflicht resource Das CUBRID-Ergebnis-Handle, das von cubrid_query(), cubrid_store_result() oder einer ähnlichen Funktion zurückgegeben wurde.
$row Pflicht int Der 0-basierte Zeilenindex, aus dem der Wert gelesen werden soll. Die erste Zeile hat den Index 0.
$field int|string 0 Das Feld, dessen Wert abgerufen werden soll. Kann als 0-basierter numerischer Index, als Spaltenname (z. B. 'email') oder als 'tabelle.spalte'-Notation angegeben werden.

Rückgabewert

Typ
string|false
Beschreibung
Gibt den Wert des angegebenen Feldes als string zurück. Im Fehlerfall (ungültige Zeile, ungültiges Feld, ungültiges Handle) wird false zurückgegeben.

Beispiele

Einzelnen Wert per Spaltenindex abrufen

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

$result = cubrid_query('SELECT name, email FROM users WHERE id = 1', $conn);

if ($result) {
    $name  = cubrid_result($result, 0, 0); // erste Spalte (name)
    $email = cubrid_result($result, 0, 1); // zweite Spalte (email)
    echo "Name: $name\n";
    echo "E-Mail: $email\n";
    cubrid_free_result($result);
}

cubrid_disconnect($conn);
Name: Max Mustermann E-Mail: max@example.com

Anzahl der Datensätze per Spaltenname abrufen

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

$result = cubrid_query('SELECT COUNT(*) AS total FROM orders', $conn);

if ($result) {
    $total = cubrid_result($result, 0, 'total');
    echo "Gesamtanzahl Bestellungen: $total\n";
    cubrid_free_result($result);
}

cubrid_disconnect($conn);
Gesamtanzahl Bestellungen: 42

Spalte mit Tabellenpräfix bei JOIN-Abfrage abrufen

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

$sql = 'SELECT u.name, o.total_price
        FROM users u
        JOIN orders o ON u.id = o.user_id
        WHERE u.id = 5
        LIMIT 1';

$result = cubrid_query($sql, $conn);

if ($result) {
    // Tabellenpräfix verwenden, um Mehrdeutigkeiten zu vermeiden
    $name  = cubrid_result($result, 0, 'u.name');
    $price = cubrid_result($result, 0, 'o.total_price');
    echo "Benutzer: $name, Bestellwert: $price EUR\n";
    cubrid_free_result($result);
}

cubrid_disconnect($conn);
Benutzer: Erika Musterfrau, Bestellwert: 129.99 EUR

// Wichtig · Fallstricke

Ressourcenfreigabe: Nach der Verwendung des Ergebnis-Handles sollte stets cubrid_free_result() aufgerufen werden, um den belegten Speicher freizugeben.

Rückgabetyp: Der Rückgabewert ist stets ein string, auch wenn die Spalte in der Datenbank einen numerischen Typ hat. Bei Weiterverwendung als Zahl sollte eine explizite Typumwandlung ((int), (float)) erfolgen.

Fehlerprüfung: Der Rückgabewert false kann sowohl einen echten Fehler als auch einen NULL-Wert in der Datenbank bedeuten. Eine Unterscheidung ist mit cubrid_result() allein nicht möglich — nutze in solchen Fällen cubrid_fetch_assoc() und prüfe auf null.