Stefan Kleeschulte: ADOdb Session - Vorhandene Datenbankverbindung nutzen

Hallo zusammen!

Ich verwende die ADOdb Session Funktionen, um Sessiondaten in PHP in einer Datenbank zu speichern. Dafür wird nur eine einzige Tabelle in der Datenbank benötigt. Mein PHP Skript benutzt noch weitere Tabellen in derselben Datenbank.

Nun möchte ich der ADOdb Session Klasse beibringen, dass sie die bereits vorhandene Verbindung zur Datenbank benutzen soll, anstatt eine neue zu erzeugen. Die vorhandene Verbindung wird mittels ADOdb aufgebaut.

Kennt sich jemand mit ADOdb aus und hat eine Idee?

Viele Grüße,
Stefan

  1. Ich habe die Lösung inzwischen selbst gefunden:

    Zunächst die "normale" ADOdb Datenbankverbindung herstellen:

    require_once('./adodb/adodb.inc.php');  
    $db =& ADONewConnection($db_type);  
    $db->Connect($db_host, $db_user, $db_password, $db_name);
    

    Dann ADOdb Session einbinden. Vor session_start() die ADOdb-Referenz nach $GLOBALS['ADODB_SESS_CONN'] kopieren. An ADODB_Session::config(...) müssen außerdem die gleichen Daten übergeben werden, die für die ADOdb Verbindung verwendet wurden. Das sechste Argument ist ein assoziatives Array, welches die Felder "table", "clob" und "field" enthalten kann.

     require_once('./adodb/session/adodb-session.php');  
    ADODB_Session::config($db_type, $db_host, $db_user, $db_password, $db_name, array('table' => $db_prefix . 'sessions', 'field' => 'SESSION_DATA'));  
    $GLOBALS['ADODB_SESS_CONN'] =& $db;  
    session_start();
    

    Vielleicht hilft das ja anderen weiter.

    Viele Grüße,
    Stefan