Start · Sprachen · PHP · Referenz · ocilogon

ocilogon

Funktion

Alias von <code>oci_connect()</code> — stellt eine Verbindung zu einer Oracle-Datenbank her.

seit PHP 5.0.0 Kategorie: db

Signatur

ocilogon(string $username, string $password, string $connection_string = '', string $encoding = '', int $session_mode = OCI_DEFAULT): resource|false

Beschreibung

ocilogon() ist ein veralteter Alias für oci_connect() und verhält sich identisch zu dieser Funktion. Sie stellt eine Verbindung zu einem Oracle-Datenbankserver her und gibt bei Erfolg eine Verbindungsressource zurück, die für nachfolgende OCI-Funktionsaufrufe verwendet werden kann.

Da es sich um einen Alias handelt, sollte in neuem Code stets oci_connect() verwendet werden. ocilogon() ist seit PHP 5.4.0 als veraltet (deprecated) markiert und wurde in PHP 8.0 vollständig entfernt. Der Einsatz in modernem Code ist daher nicht empfehlenswert.

Verbindungen, die mit ocilogon() erstellt werden, sind persistente Verbindungen, wenn dieselben Zugangsdaten bereits verwendet wurden — Oracle pooled in diesem Fall die Verbindung intern. Zum expliziten Schließen dient oci_close().

Parameter

Name Typ Default Beschreibung
$username Pflicht string Der Oracle-Benutzername für die Datenbankverbindung.
$password Pflicht string Das Passwort des angegebenen Oracle-Benutzers.
$connection_string string Optionaler Oracle-Verbindungsstring (z. B. //hostname/service_name oder ein TNS-Name). Wird er weggelassen, wird die Umgebungsvariable ORACLE_SID verwendet.
$encoding string Optionaler Zeichensatz (z. B. AL32UTF8), der für die Verbindung verwendet werden soll.
$session_mode int OCI_DEFAULT Verbindungsmodus, z. B. OCI_SYSOPER oder OCI_SYSDBA für privilegierte Verbindungen.

Rückgabewert

Typ
resource|false
Beschreibung
Gibt bei Erfolg eine OCI8-Verbindungsressource zurück, die an andere OCI-Funktionen übergeben werden kann. Bei einem Fehler wird false zurückgegeben.

Beispiele

Einfache Verbindung mit ocilogon (Legacy-Code)

<?php
// ACHTUNG: ocilogon() ist deprecated (PHP 5.4+) und in PHP 8.0 entfernt.
// Nur in Legacy-Codebasen mit PHP 5.x anzutreffen.
$conn = ocilogon('scott', 'tiger', '//localhost/orcl');

if (!$conn) {
    $e = ocierror();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stmt = ociparse($conn, 'SELECT SYSDATE FROM DUAL');
ociexecute($stmt);

while (ocifetchinto($stmt, $row, OCI_ASSOC)) {
    echo 'Aktuelles Datum: ' . $row['SYSDATE'] . PHP_EOL;
}

ocilogoff($conn);
Aktuelles Datum: 01-JAN-24

Migration zu oci_connect (empfohlener moderner Code)

<?php
// Empfehlung: statt ocilogon() die moderne oci_connect() verwenden
$conn = oci_connect('scott', 'tiger', '//localhost/orcl', 'AL32UTF8');

if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stmt = oci_parse($conn, 'SELECT SYSDATE FROM DUAL');
oci_execute($stmt);

while (($row = oci_fetch_assoc($stmt)) !== false) {
    echo 'Aktuelles Datum: ' . $row['SYSDATE'] . PHP_EOL;
}

oci_close($conn);
Aktuelles Datum: 01-JAN-24

// Wichtig · Fallstricke

Deprecated seit PHP 5.4.0, entfernt in PHP 8.0.0: ocilogon() darf in neuem Code nicht mehr verwendet werden. Bestehender Code sollte auf oci_connect() migriert werden.

Sicherheitshinweis: Zugangsdaten (Benutzername und Passwort) sollten niemals im Quellcode hartcodiert werden. Verwende Konfigurationsdateien außerhalb des Webroot-Verzeichnisses oder Umgebungsvariablen.

Alle veralteten OCI-Alias-Funktionen (z. B. ociparse, ociexecute, ocilogoff) wurden ebenfalls in PHP 8.0 entfernt.