Daten in zwei Datenbanken schreiben
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
after
ansatz
ansprechen
anwenden
aufbauen
auslese
code
datenbank
datum
frage
liegen
minute
nutzen
richtig macht
server
tabelle
trigger
url
verbindung
versuchen
-
Hallo,
Ich möchte auch sicherheist gründen Die userdaten von meiner HP auf 2 datenbanken speichern.
momentan mach ich das nur in einer. ich include die sql verbindung die ich in einer extra datei gespeichert haben nenen wir sie mal 123.php
<?php include ("sql.php"); ?>
und so siht sie dann aus.
<?php $db = mysql_connect ("**************", "***********", "********"); if (!mysql_select_db ("*********", $db)){ die ("<br><br><br><br><br><center> Tut uns leid wir haben zur Zeit ein Serverproblem.<br>Bitte versuchen sie es in wenigen Minuten neu."); } ?>
könnt ihr mir helfen?
LG -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Liegen die beiden Datenbanken auf ein und dem selben Server oder auf getrennten?
Im ersten Fall kannst du die Tabellen entsprechend über ihre DB Namen ansprechen. Also `meineDatenbank1`.`meineTabelle` und `meineDatenbank2`.`meineTabelle`.
Im zweiten Fall musst du zwei SQL Verbindungen aufbauen. -
evil-devil schrieb: Liegen die beiden Datenbanken auf ein und dem selben Server oder auf getrennten? Im ersten Fall kannst du die Tabellen entsprechend über ihre DB Namen ansprechen. Also `meineDatenbank1`.`meineTabelle` und `meineDatenbank2`.`meineTabelle`. Im zweiten Fall musst du zwei SQL Verbindungen aufbauen.
2Fall^^
Also einfach so?
<?php $db = mysql_connect ("**************", "***********", "********"); if (!mysql_select_db ("*********", $db)){ die ("<br><br><br><br><br><center> Tut uns leid wir haben zur Zeit ein Serverproblem.<br>Bitte versuchen sie es in wenigen Minuten neu."); } $db2 = mysql_connect ("**************", "***********", "********"); if (!mysql_select_db2 ("*********", $db2)){ die ("<br><br><br><br><br><center> Tut uns leid wir haben zur Zeit ein Serverproblem.<br>Bitte versuchen sie es in wenigen Minuten neu."); } ?>
-
Der gibt dir das zurück, was du abfragst.
Willst du deine zweite DB jetzt nur als Backup oder als Fall-Back nutzen? -
chatvz schrieb:
OK
Noch ne Frage :
Wenn ich nun die Userdaten auslesen lassen will gibt er die dann 2 mal wieder?
oder fragt der nur eine ab?
LG
Wer ist er? Das musst du schon selbst wissen, ob du die Daten aus DB1 oder DB2 ausliest. Das ist genau das Probelm, das evil-devil anschneidet, dass die Daten ident sein sollten (was sie de facto nicht sind, wenn du z.B. Timestamps nutzt, und die Schreibvorgänge 200 ms nacheinander durchgeführt werden). Besser wäre es wohl, die DBs mit einem Cronjob synchron zu halten / zu backupen -
Nein, du gibts bei der Query einfach nur die entsprechende Datenbankanbindung ein(nur bei SELECT):
mysql-query( $sql, $db ); oder mysql-query( $sql, $db2 );
Aber alle Veränderungen musst du auf beide anwenden. Ich weiß nicht, ob du da einfach das $db weglassen kansnt oder es einfach für beide einmal ausführen musst. -
Hoi!
Und jetzt noch wie mans richtig macht: Du setzten einen MySQL TRIGGER-Befehl:
CREATE TRIGGER Copier AFTER INSERT ON db1.usertabelle FOR EACH ROW INSERT INTO db2.usertabelle VALUES (NEW.feld1, NEW.feld2, NEW.feld3)
Nur als ein Beispiel, wie es grundsätzlich aussehen sollte ;) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage