next up previous contents index
Next: db_connection_unregister($name="default"): Up: Funktionen für die Verwaltung Previous: Funktionen für die Verwaltung

db_connection_register($database_array, $name="default", $connect_immediatelly=0):

Mit der Funktion 'db_connection_register' kann eine neue Datenbank-Verbindung angemeldet werden. Das assoziative array $database_array spezifiziert dabei die Verbindung. Am wichtigsten ist hierbei $database_array[type], der das zu verwendende Datenbank-system für die neue Verbindung angibt. Als Werte sind im Moment ``mysql'', ``postgres'' oder ``interbase'' möglich. Der Rest des Arrays enthält Parameter für das jeweils verwendete Datenbank-System:

Für ``mysql'' sind dies die Parameter ``host'', ``username'', ``password'', ``database'',

für ``Postgres'' ``host'', ``port'', ``user'', ``password'', ``database'' und

für ``Interbase'' ``host'', ``username'', ``password'', ``database''.

Um die Verbindung später für Anfragen zu benutzen wird sie über $name noch mit einem sie eindeutig identifizierenden, globalen Namen versehen, der als Standardwert ``default'' hat.

Außerdem wird, falls $connect_immediatelly den Wert 1 hat, die Verbindung sofort beim Aufruf von 'db_connection_register' aufgebaut. Sonst wird die Verbindung erst bei Bedarf, d.h. bei der ersten SQL-Anfrage aufgebaut. Damit werden unnötige Datenbankverbindungen, die später gar nicht benutzt werden, unterlassen.

Der Rückgabewert bei Fehler ist 'false', sonst 'true'.

Verwendet werden im aktuellen Workflow-System zur Zeit 2 Datenbank-Verbindungen:

Eine spezielle mit Namen ``control'' für die Verwaltung von Views und Rechten, da hier ein Datenbank-Benutzer mit speziellen Zugriffs-rechten nötig ist, und die Standardverbindung ``default'' für sonstige Aufgaben.

Schlägt die Registrierung fehl (z.B. weil eine Verbindung mit diesem Namen schon angemeldet ist), so liefert 'db_connection_register' 'false' als Rückgabewert, sonst 'true'.

Intern in lib-sql wird die Funktion 'db_connection_prepare' verwendet, um eine Verbindung tatsächlich aufzubauen, falls noch nicht geschehen. Sie wird i.d.R benutzt, um sicherzustellen, dass eine Verbindung aufgebaut ist, bevor sie für Anfragen benutzt wird.

Den eigentlichen Aufbau einer Verbindung übernimmt die Funktion 'db_connect', die die Datenbank-spezifische (abhängig von $database_array[type]) connect-Funktion aufruft. Diese spezifische Funktion erhält als Parameter das die neue Verbindung spezifizierende $database-Array und gibt einen Datenbankverbindungs-Handle (abhängig vom Datenbank-Typ) oder 'false' bei Fehler zurück. Die momentan implementierten Datenbank-System-spezifischen Funktionen sind 'my_mysql_connect' (für ``mysql''), 'my_pg_connect' (für ``Postgres'') und 'my_ibase_connect' (für ``Interbase'').


next up previous contents index
Next: db_connection_unregister($name="default"): Up: Funktionen für die Verwaltung Previous: Funktionen für die Verwaltung
Copyright Munich Network Management Team