kostenloser Webspace werbefrei: lima-city


Daten in zwei Datenbanken schreiben

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    chatvz

    Kostenloser Webspace von chatvz

    chatvz hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. e********l

    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.
  4. Autor dieses Themas

    chatvz

    Kostenloser Webspace von chatvz

    chatvz hat kostenlosen Webspace.

    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.");  
    }  
    
    ?>
  5. e********l

    Yepp. So sieht der Ansatz aus den du nutzen musst.

    Falls beide Datenbanken voneinander abhängig sind, ist der Ansatz aber alles andere als gut ;)
  6. Autor dieses Themas

    chatvz

    Kostenloser Webspace von chatvz

    chatvz hat kostenlosen Webspace.

    evil-devil schrieb: Yepp. So sieht der Ansatz aus den du nutzen musst. Falls beide Datenbanken voneinander abhängig sind, ist der Ansatz aber alles andere als gut ;)

    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
  7. e********l

    Der gibt dir das zurück, was du abfragst.

    Willst du deine zweite DB jetzt nur als Backup oder als Fall-Back nutzen?
  8. burgi

    Co-Admin Kostenloser Webspace von burgi

    burgi hat kostenlosen Webspace.

    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
  9. 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.
  10. 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 ;)
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!