Start · Sprachen · PHP · Referenz · cubrid_connect_with_url

cubrid_connect_with_url

Funktion

Stellt eine Verbindung zum CUBRID-Datenbankserver anhand einer URL-Verbindungszeichenkette her und gibt eine Verbindungsressource zurück.

seit PHP 8.3.1 Kategorie: db

Signatur

cubrid_connect_with_url(string $conn_url, string $userid = null, string $passwd = null, bool $new_link = false): resource|false

Beschreibung

cubrid_connect_with_url() ermöglicht es, eine Verbindung zu einem CUBRID-Datenbankserver herzustellen, indem alle Verbindungsparameter in einer einzigen URL-Zeichenkette zusammengefasst werden. Dies ist besonders nützlich, wenn Verbindungseinstellungen zentral in einer Konfigurationsdatei oder Umgebungsvariable gespeichert werden sollen.

Die URL folgt dem Format: CUBRID:<host>:<port>:<dbname>:<userid>:<passwd>:[?<properties>]. Die Pflichtfelder sind Host, Port und Datenbankname. Benutzername und Passwort können entweder in der URL oder als separate Parameter übergeben werden. Werden sie an beiden Stellen angegeben, haben die expliziten Parameter Vorrang.

Optionale URL-Eigenschaften ermöglichen die Konfiguration von Auto-Commit, SSL/TLS-Verschlüsselung und weiteren Verbindungsoptionen, z. B. ?autocommit=true&charset=utf-8. Dies macht die Funktion flexibler als cubrid_connect(), da keine separaten Parameter für diese Optionen benötigt werden.

Ist new_link auf true gesetzt, wird immer eine neue Verbindung aufgebaut, selbst wenn dieselbe URL bereits eine aktive Verbindung hat. Standardmäßig wird eine vorhandene Verbindung mit identischer URL wiederverwendet.

Parameter

Name Typ Default Beschreibung
$conn_url Pflicht string Die URL-Verbindungszeichenkette im Format CUBRID:<host>:<port>:<dbname>:[userid]:[passwd]:[?properties], z. B. CUBRID:localhost:33000:demodb:dba::?autocommit=true.
$userid string null Der Benutzername für die Datenbankverbindung. Wird dieser angegeben, überschreibt er einen eventuell in der URL enthaltenen Benutzernamen.
$passwd string null Das Passwort für die Datenbankverbindung. Wird dieses angegeben, überschreibt es ein eventuell in der URL enthaltenes Passwort.
$new_link bool false Wenn true, wird trotz einer bereits bestehenden Verbindung mit gleicher URL eine neue Verbindung geöffnet. Standardmäßig (false) wird eine vorhandene Verbindung wiederverwendet.

Rückgabewert

Typ
resource|false
Beschreibung
Gibt bei Erfolg eine CUBRID-Verbindungsressource zurück, die für alle nachfolgenden Datenbankoperationen benötigt wird. Im Fehlerfall wird false zurückgegeben.

Beispiele

Einfache Verbindung mit URL

<?php
// Verbindung zu CUBRID via URL-String
$conn_url = 'CUBRID:localhost:33000:demodb:dba::';

$conn = cubrid_connect_with_url($conn_url);

if (!$conn) {
    die('Verbindung fehlgeschlagen: ' . cubrid_error());
}

echo 'Verbindung erfolgreich hergestellt.' . PHP_EOL;

$result = cubrid_query('SELECT * FROM nation LIMIT 3', $conn);

while ($row = cubrid_fetch_assoc($result)) {
    echo $row['code'] . ': ' . $row['name'] . PHP_EOL;
}

cubrid_disconnect($conn);
Verbindung erfolgreich hergestellt. AFG: Afghanistan ALB: Albania ALG: Algeria

Verbindung mit URL-Eigenschaften und expliziten Zugangsdaten

<?php
// URL ohne Zugangsdaten, aber mit Verbindungseigenschaften
$conn_url = 'CUBRID:db.example.com:33000:myapp:::?autocommit=false&charset=utf-8';

// Zugangsdaten werden separat übergeben (überschreiben URL-Angaben)
$conn = cubrid_connect_with_url($conn_url, 'app_user', 'geheimesPasswort');

if (!$conn) {
    die('Verbindung fehlgeschlagen: ' . cubrid_error());
}

echo 'Verbindung mit Eigenschaften erfolgreich.' . PHP_EOL;

// Transaktion manuell commiten (autocommit=false)
cubrid_query('INSERT INTO log_table (message) VALUES (\'Test\')', $conn);
cubrid_commit($conn);

cubrid_disconnect($conn);
Verbindung mit Eigenschaften erfolgreich.

// Wichtig · Fallstricke

Sicherheitshinweis: Vermeiden Sie es, Benutzernamen und Passwörter direkt in der URL-Zeichenkette im Quellcode zu hinterlegen. Nutzen Sie stattdessen Umgebungsvariablen oder externe Konfigurationsdateien, die außerhalb des Web-Roots liegen und nicht öffentlich zugänglich sind.

URL-Format: Das Protokollpräfix CUBRID: ist obligatorisch und muss in Großbuchstaben angegeben werden. Fehlende optionale Felder (Benutzername, Passwort) müssen dennoch als leere Felder mit Doppelpunkt-Trenner vorhanden sein, z. B. CUBRID:host:port:db:::.

Die Funktion steht nur zur Verfügung, wenn PHP mit der CUBRID-Erweiterung kompiliert wurde. Prüfen Sie die Verfügbarkeit mit extension_loaded('cubrid').