Start · Sprachen · PHP · Referenz · PDO_CUBRID DSN

PDO_CUBRID DSN

Funktion

Der PDO-DSN für CUBRID definiert die Verbindungsparameter zum Aufbau einer Datenbankverbindung mit einem CUBRID-Datenbankserver.

seit PHP 5.0.0 Kategorie: db

Signatur

cubrid:host=hostname;port=port;dbname=database

Beschreibung

Der CUBRID DSN (Data Source Name) wird verwendet, um über die PDO-Schnittstelle eine Verbindung zu einem CUBRID-Datenbankserver herzustellen. Der DSN-String beginnt immer mit dem Präfix cubrid:, gefolgt von Schlüssel-Wert-Paaren, die durch Semikolons getrennt sind.

Die wichtigsten Parameter sind host (Hostname oder IP-Adresse des Servers), port (der TCP-Port, standardmäßig 33000) und dbname (der Name der Zieldatenbank). Optionale Parameter wie charset ermöglichen die Angabe des Zeichensatzes für die Verbindung.

Der DSN wird als erstes Argument an den PDO-Konstruktor übergeben, zusammen mit Benutzername und Passwort. CUBRID ist ein relationales Datenbankmanagementsystem, das besonders für webbasierte Anwendungen entwickelt wurde und native PHP-Unterstützung durch den PDO_CUBRID-Treiber bietet.

Um PDO_CUBRID nutzen zu können, muss der CUBRID-PHP-Treiber installiert und in der php.ini aktiviert sein. Unter Linux wird dieser häufig als pdo_cubrid.so bereitgestellt.

Parameter

Name Typ Default Beschreibung
$host Pflicht string Hostname oder IP-Adresse des CUBRID-Datenbankservers, z. B. localhost oder 192.168.1.10.
$port int 33000 TCP-Port, auf dem der CUBRID-Broker-Dienst lauscht. Der Standardwert ist 33000.
$dbname Pflicht string Name der Zieldatenbank auf dem CUBRID-Server, zu der eine Verbindung hergestellt werden soll.
$charset string Zeichensatz für die Verbindung, z. B. utf-8. Wird dieser Parameter weggelassen, verwendet der Treiber den Standard-Zeichensatz des Servers.

Beispiele

Einfache PDO-Verbindung zu CUBRID herstellen

<?php
$dsn      = 'cubrid:host=localhost;port=33000;dbname=demodb';
$username = 'dba';
$password = '';

try {
    $pdo = new PDO($dsn, $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Verbindung zu CUBRID erfolgreich hergestellt.\n";
} catch (PDOException $e) {
    echo 'Verbindungsfehler: ' . $e->getMessage() . "\n";
}
?>
Verbindung zu CUBRID erfolgreich hergestellt.

CUBRID-Verbindung mit Zeichensatz und Abfrage

<?php
$dsn      = 'cubrid:host=db.example.com;port=33000;dbname=shopdb;charset=utf-8';
$username = 'shop_user';
$password = 'geheimesPasswort';

try {
    $pdo = new PDO($dsn, $username, $password, [
        PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    ]);

    $stmt = $pdo->query('SELECT name, price FROM products LIMIT 5');
    foreach ($stmt as $row) {
        echo $row['name'] . ' – ' . $row['price'] . " EUR\n";
    }
} catch (PDOException $e) {
    echo 'Fehler: ' . $e->getMessage() . "\n";
}
?>

// Wichtig · Fallstricke

Treiberinstallation: PDO_CUBRID ist nicht standardmäßig in PHP enthalten. Der Treiber muss separat installiert werden, entweder über PECL (pecl install pdo_cubrid) oder durch das manuelle Kompilieren des CUBRID-PHP-Treibers. Anschließend muss extension=pdo_cubrid in der php.ini aktiviert werden.

Broker-Dienst: CUBRID verwendet eine Broker-Architektur. Der in port angegebene Port ist der Port des CUBRID-Brokers, nicht des eigentlichen Datenbankprozesses. Standardmäßig ist dies Port 33000.

Sicherheit: Passwörter und Zugangsdaten niemals direkt im Quellcode hart kodieren. Verwende Umgebungsvariablen oder externe Konfigurationsdateien, die außerhalb des Web-Roots gespeichert sind, um Anmeldedaten sicher zu verwalten.