Sponsored Links |
|
|||
Von MySQL-Querys bin ich auch oft überrascht.
Zur Verbindung: insofern der Datenbankbenutzer Zugriff auf db1 und db2 hat, reicht ein Verbindungsaufbau. Andersum gefragt, kann man überhaupt zwei Verbindungen aufbauen (welche dann z.B. in $resource1 & $resource2 sind) und dann eine Query absetzen, welche beide Verbindungskennungen verwendet? Geht doch gar nicht, oder doch? Gruß |
Sponsored Links |
|
||||
Zitat:
Ich dachte nur, da man die DB ja beim Verbindungsaufbau angeben muss (mysql_select_db), das ich dann nur dahin verbunden sei. Wenn es so klappt, dann erspar ich mir ja ewig Zeit und - Laufzeit. |
|
||||
Gut, ich pushe mal wegen aktueller Problemstellung:
Leute ich hab keine Ahnung von Verbindungs-Klassen, aber genau das werde ich nun brauchen. AUf dem Hoster wo mein aktuelles Zeug hinkommt, ist es NICHT möglich 2 Datenbanken mit einem Userzugeng zu haben! Heisst ich habe 2 verschiedene Passwd und Username´s! Ds haut natürlich die Struktur meines Redaktionssystems etwas durcheinander. Problemstellung: Die Seite wird aufgerufen, eine Funktion checkt ob GET mitgeliefert werden, wenn nicht, wird eine Funktion gestossen, die den erstgereihten Eintrag des Hauptmenüs ausliest, die dort gespeicherten Parameter in GET umbaut, und damit die Seite erneut aufruft. Dies kann von 2 Stellen aus geschehen: Öffentlich - wie grade beschreibt, oder aus dem RS im Vorschau modus. In diesem Mode wird ein weiterer Get mitgliefert, der die o.a. Funktion anweist, die 2 DB anzuwählen (das ist die Redaktionelle). Das lässt sich noch relative einfach lösen, mit 2 unterschiedlichen Zugängen. Kern der Sache ist, das die Redakteure hinten alles ändern können, die Seite vorne aber unverändert bleibt. Ist alles angepasst wird die Update Funktion ausgelöst und die hintere DB in die vordere kopiert - wie obe beschrieben. Wie kann ich das nun lösen, wenn ich 2 verschiedene Zugänge hab? Muss ich nun ernsthaft einmal alles auslesen, Verbindung schliessen, neue aufmachen und dann reinlesen? Schauder. Dank euch! |
|
||||
Ich hab ehrlich gesagt noch nie mit mehr als einer DB in einem Projekt gearbeitet, darum kann ich dir da wenig zu sagen.
Bei meiner alten Firma wurde der öffentliche und der Redaktionsbereich nicht "richtig" getrennt, also nicht in verschiedenen DB oder Tabellen vorgehalten, sondern über ein Flag gekennzeichnet was öffentlich ist und was nicht. Das hilft dir bei deinem aktuellen Problem nicht, es ist aber eine alternative Vorgehensweise. |
|
||||
Zitat:
Wäre vlt. auch mit Flags gegangen, aber so ist es fast 100% gesichert. Das Problem allerdings brennt, da ich die Sachlage von dem Gemeinde Hoster erst heute erfuhr ... das Projekt muss raus. |
|
|||
Zitat:
Wie soll es auch anders gehen, wenn du nur eine DB-Verbindung gleichzeitig geöffnet haben kannst? Ich würde aber auch lieber alles in eine DB packen und die entsprechenden DB-Schreib-Rechte mittels Userstatus vergeben. z.B. if ($Userlevel == "Redakteur") { $table_prefix="redaktion"; } sofern sich das so bei dir lösen läßt. Damit hast du eine klare Trennung der Tabellen-Zugriffe anhand des eingeloggten Users.
__________________
Gruß Chrunchy "Eine Theorie ist eine Vermutung mit Hochschulbildung" (James Earl Carter) |
|
||||
Um nochmal auf das Problem mit dem zwei verbindungen einzugehen.
Bei deinem Testcase wie bist du da vorgegangen. Ich hab mir da gedanken gemacht und würde es ungefähr so machen: PHP-Code:
Gruß Timo
__________________
Um weitere Erklärungen eingeblendet zu bekommen, drücken Sie bitte die Tastenkombination Alt + F4 |
|
||||
Ja, wie hab ich es gemacht, einfach so wie oben beschrieben, wie ich es über phpMyAdmin gesehen hab.
Läuft. Local. Aber ich habe alle anderen Provider gecheckt, wo ich schon Werke liegen hab. Ich hab das total verschlafen, ich hab ja vorher auch noch nie 2 DB verwendet, ich habe überall separate Zugänge. Sch.... . Nun darf ich mich damit auseinandersetzen. T1mo, danke für Deinen Tipp, ob es werkelt werden wir bald wissen. Der Logik nach müsste es gehen. cu |
Sponsored Links |
|
||||
Es gibt auch noch erweiterte Inserts oder wie die heißen.
Da werden in einem Insert-Statement gleich mehrere Datensätze eingefügt. Im Grunde würde das dann ähnlich Deiner jetztigen Variante ablaufen, also Datensätze aus der einen DB holen und in einer Schleife in die andere DB einfügen, jedoch nicht mehr Zeile für Zeile, sondern im Idealfall alle Datensätze einer Tabelle in einem Rutsch. Dürfte um einiges schneller sein, als jeden Datensatz einzeln einzufügen. Müsstest Dir nur das richtige Statement zusammenbauen. Wie das aussehen muss kannst Du Dir ja bei phpMyAdmin anschauen, wenn Du 'Exportieren' wählst. Für den Fall, dass es dort eine Beschränkung gibt (was ich nicht weiß) könnte man so zumindest immer in einer Schleife z.B. 500 Datensätze auf einen Schlag einfügen und verringert so die Anzahl der Statements schonmal drastisch. |
Sponsored Links |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
hover spricht andere id's an | f4k3 | CSS | 11 | 08.07.2010 17:33 |
eine grafik über andere legen | keyboardY | CSS | 6 | 23.01.2010 18:53 |
[mod_rewrite] Auf andere Domain umleiten | markuskoehler | Serveradministration und serverseitige Scripte | 3 | 01.07.2009 00:19 |
Datenbakn in andere kopieren, wenn Anzahl der Tabellen unbekannt | paracelsus | Serveradministration und serverseitige Scripte | 26 | 15.09.2008 18:15 |
IE / Firefox der eine Ignoriert Margin der andere Padding?!? | Frozensilence | CSS | 4 | 28.03.2006 16:23 |