Signatur
Beschreibung
cubrid_error() liefert die textuelle Fehlermeldung des zuletzt aufgetretenen Fehlers bei einer CUBRID-Datenbankverbindung. Die Funktion ist nützlich, um nach fehlgeschlagenen Datenbankoperationen aussagekräftige Fehlermeldungen für Debugging-Zwecke oder Logging auszugeben.
Wird ein Verbindungs-Handle übergeben, bezieht sich die Fehlermeldung auf genau diese Verbindung. Ohne Argument wird die zuletzt geöffnete Verbindung herangezogen. Die Funktion wird typischerweise zusammen mit cubrid_errno() verwendet, um sowohl den Fehlercode als auch die zugehörige Meldung zu erhalten.
Beachte, dass cubrid_error() nur für ältere, verbindungsbasierte CUBRID-Funktionen vorgesehen ist. In modernen CUBRID-Anwendungen sollte stattdessen auf cubrid_error_msg() oder den OCI-ähnlichen Stil mit cubrid_get_last_error() zurückgegriffen werden.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $conn_identifier | resource | null | Ein CUBRID-Verbindungshandle, das zuvor von cubrid_connect() zurückgegeben wurde. Wird kein Handle angegeben, wird die zuletzt geöffnete Verbindung verwendet. |
Rückgabewert
Beispiele
Fehlermeldung nach fehlgeschlagenem Query ausgeben
<?php
$conn = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
if (!$conn) {
die('Verbindung fehlgeschlagen: ' . cubrid_error());
}
$result = cubrid_execute($conn, 'SELECT * FROM nicht_vorhandene_tabelle');
if (!$result) {
$fehlercode = cubrid_errno($conn);
$fehlermeldung = cubrid_error($conn);
echo "Fehler [$fehlercode]: $fehlermeldung" . PHP_EOL;
}
cubrid_disconnect($conn);
Fehlerbehandlung mit Logging
<?php
function cubrid_query_safe(resource $conn, string $sql): mixed
{
$result = cubrid_execute($conn, $sql);
if ($result === false) {
$msg = sprintf(
'[CUBRID] Fehler %d: %s | SQL: %s',
cubrid_errno($conn),
cubrid_error($conn),
$sql
);
error_log($msg);
return false;
}
return $result;
}
$conn = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
$result = cubrid_query_safe($conn, 'SELECT * FROM athlete LIMIT 5');
if ($result) {
while ($row = cubrid_fetch_assoc($result)) {
echo $row['name'] . PHP_EOL;
}
cubrid_close_request($result);
}
cubrid_disconnect($conn);
// Wichtig · Fallstricke
Sicherheitshinweis: Fehlermeldungen sollten niemals direkt an den Endnutzer ausgegeben werden, da sie interne Datenbankinformationen wie Tabellennamen oder Strukturen preisgeben können. Verwende cubrid_error() ausschließlich für internes Logging oder Debugging.
Die Funktion gehört zur älteren CUBRID-API. Neuere Projekte sollten die OO-Schnittstelle oder vorbereitete Anweisungen (Prepared Statements) nutzen, um Fehler konsistenter zu behandeln und SQL-Injection zu vermeiden.