Seite 1 von 1

Mit DBAL auf andere Datenbank zugreifen?

Verfasst: 30.11.2008 19:53
von Meister-Möbius
Hallo zusammen,

ich habe eine kleine Frage zu den DBALs. Normalerweise führt man damit ja Datenbankabfragen innerhalb von phpbb durch. Ich möchte diese Funktionen aber etwas erweitert nutzen.

Für mein Forum habe ich zwei Datenbanken erstellt. Eine für die "normalen" phpbb Tabellen und die Andere für einige Zusatztabellen. Mit dem DBAL auf die normalen Tabellen zugreifen geht wunderbar, nur würde ich gerne mit dem gleiche Verfahren ebenfalls auf die andere Datenbank zugreifen.

Mit dem "$db->sql_connect"-Befehl kann man ja - theoretisch - auf eine andere Datenbank zugreifen. Nur jedes mal, wenn ich das versuche, kann er auf die Andere der beiden Datenbanken nicht zugreifen und ich versinke in Fehlermeldungen.

Ich bin mir nicht sicher, ob das überhaupt so machbar ist, oder ob ich nur zum blind bin um den richtigen Befehl zu schreiben. Ich hoffe, ihr kennt euch besser damit aus als ich. Vielen Dank für eure Hilfe.

Gruß
Möbius


P.S. Username und Passwort sind für beide Datenbanken gleich.
P.P.S. Die Datenbanken zusammenlegen ist keine Lösung.

Verfasst: 30.11.2008 22:11
von gn#36
Kannst du mal ein Stück Beispielcode posten damit wir sehen wie du das probierst?

Vom Gefühl her liegt es daran, dass du auf beide Datenbanken mit den gleichen Benutzerdaten zugreifen kannst, ich meine damit hatte ich auch schon mal Probleme, auch wenn dem eigentlich nicht so sein sollte, vielleicht kannst du das Problem also umgehen wenn du die Benutzerdaten der einen Datenbank änderst (effektiv wäre das ein Bug im phpBB DBAL wenn das das Problem lösen würde).

Verfasst: 04.12.2008 18:52
von Meister-Möbius
Ok ich verleihe mir selbst den Preis für den blindesten Programmierer des Tages. Ich habs gerade selbst gesehen:

Ich habe die Connect-Befehle mit der Variable $db laufen lassen. Das kann nicht gehen, da so ja die Daten für die Forendatenbank verloren gehen und der Seitenaufbau nicht klappen kann.

Ersetzt man $db mit $db2 dann läuft der Script wunderbar. Auf jeden Fall danke für eure Hilfe.

Verfasst: 04.12.2008 20:50
von gn#36
Sowas passiert doch jedem mal. Gerade PHP ist prädestiniert für derartige Variablenfehler da man sie nicht vorher deklarieren muss (Kompilierte Sprachen brauchen meist eine Deklaration so dass man Tippfehler im Variablennamen schnell findet, einige Kompiler warnen auch bei deklarierten, aber nicht benutzten Variablen oder deklarierten, aber nicht initialisierten Variablen (erste Anweisung mit der Variable ist eine Verwendung, keine Zuweisung, davor warnt PHP allerdings auch, einfach mal E_NOTICE einschalten).

Der dümmste Fehler der mir irgendwann mal unterlaufen ist (sofern man überhaupt irgend einen Fehler als dumm bezeichnen sollte, denn intelligente Fehler gibt es eigentlich nicht) war ein Semikolon nach einer if Abfrage (= die Abfrage wird völlig ignoriert). Bis ich den gefunden habe gingen auch Stunden ins Land (passiert mir aber hoffe ich nicht nochmal). Manchmal gibt's auch Fehler die dann an was völlig anderem liegen, ich meine mich z.B. an PHP Anweisungen erinnern zu können die auf einer AMD Maschine mit 64 Bit nicht so laufen wie sie sollen...

Wie heißt es doch so schön: Nur aus Fehlern lernt man, wer keine Fehler macht hat auch nichts gelernt ;) .