Stefan: Datenbankverbindung aus Session

Beitrag lesen

Hallo Henrico,

Was willst Du jetzt in diesem Szenario eigentlich genau machen? Willst Du eine Datenbankverbindung offenhalten? Zwischen welchen Diensten? Mit welchem Ziel?

Wie wuerdest Du die Sache nicht OO-maessig formulieren?

Ein Benutzer meldet sich an die Datenbank meiner Anwendung (aka Spielwiese) an. Die dabei aufgebaute Verbindung zur Datenbank sollte offen gehalten werden, damit er dann Datenbankeinträge abfragen, einfügen, verändern und löschen kann.

Der Plan war also, dass ich anfangs einmal

include('classes/class.db_handler.$oDBHandler = db_handler::getInstance();

session_start();

$_SESSION['oDBHandler'] = $oDBHandler;

ausführe und dann in jeder Funktion, die CRUDL macht, "nur"

$oDBHandler = $_SESSION['oDBHandler'];
$SQL = irgendwas;
$res = $oDBHandler->execute($SQL);

aufrufen muss und nicht etwas in der Art

$connection = mysqli_connect($db['host'],$db['uid'],$db['pwd'], $db['db']);
if($connection)
{
   $sql = '...';
   $result = mysqli_query($sql);
   ...
}

Anfangs dachte ich, dass ich durch OO und das Speichern der Datenbankverbindung Quellcode spare bzw. dass das besonders toll wäre. Nach meinen bisherigen Versuchen und weiterer Recherche komme ich langsam zu der Erkenntnis, dass es vielleicht doch nicht der Weisheit letzter Schluss ist. Zumal ich ja gar keinen Quellcode spare (Klassendefinition muss immer eingebunden werden, Session muss immer gestartet werden).

Den jetzigen Versuch habe ich wegen Deiner Antwort (letzter Absatz) unternommen.

Viele Grüße,

Stefan (weiter durch die Gegend programmierend :))