Signatur
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
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 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);
// 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').