kostenloser Webspace werbefrei: lima-city


Verbindung zu zwei MySQL Datenbanken gleichzeitig

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    rnitsche

    Kostenloser Webspace von rnitsche

    rnitsche hat kostenlosen Webspace.

    Hallo,
    ich versuche, je eine Verbindung zu zwei verschiedenen MySQL Datenbank gleichzeitig aufzubauen. Das geht auch mit

    $db1=mysql_connect($host1,$database1,$password);
    $db2=mysql_connect($host2,$database2,$password);


    Allerdings muss man dann in der Abfrage jeweils die Datenbank angeben. Also

    mysql_query($abfrage, $db1)
    oder halt die andere Datenbank.

    Das würde für mich aber bedeuten, dass ich alle query-Befehle anpassen müsste. Gibt es nicht auch eine Möglichkeit, diese 2 Datenbanken über einen Befehl wie z.B.

    mysql_query("SELECT * FROM $db1.tabelle1 WHERE xyz=2")
    anzusprechen?

    Danke für Eure Hilfe
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. bvb-fanclub-nr1-in-sundern

    Kostenloser Webspace von bvb-fanclub-nr1-in-sundern

    bvb-fanclub-nr1-in-sundern hat kostenlosen Webspace.

    Es gibt den Befehl "mysql_db_query()", wo man die Datenbank angeben kann, die man abfragen möchte...
    Siehe auch http://www.php.net/manual/de/function.mysql-db-query.php
    Allerdings ist dieser Befehl veraltet und es sollte stattdessen"mysql_select_db()" + "mysql_query()" verwendet werden...

    Beitrag zuletzt geändert: 10.3.2011 1:31:30 von bvb-fanclub-nr1-in-sundern
  4. Schreib dir doch eine Funktion do_query($SQL),
    die zuerst die erste DB selektiert und dann den SQL ausführt und dann die zweite DB und dann den SQL nochmal ausführt ;)
    Und die Ergebnise dann einfach zusammenführen.
    Zu guter letzt alle PHP-Datein mit suchen & ersetzen durchlaufen.
  5. Wenn eine der beiden Datenbankverbindungen weniger genutzt werden soll als die andere, könntest du die weniger genutzt zuerst erstellen und die normalerweise genutzte anschließend. Wenn du nun den $connection Parameter weglässt, wird automatisch die letzte erstelle DB-Verbindung genutzt, also die normalerweise genutzte ;) Wenn du nun die andere, selten genutzte DB-Verbindung benötigst, musst du natürlich die entsprechende $connection angeben.

    Noch besser wäre es natürlich eine objektorientierte MySQL-Klasse zu nutzen (PDO MySQL), welche du dann über $db1->query() / $db2->query() respektive nutzt.
  6. Autor dieses Themas

    rnitsche

    Kostenloser Webspace von rnitsche

    rnitsche hat kostenlosen Webspace.

    Danke für die Tipps,
    ich werde das mal mit einer eigenen Funktion ausprobieren und die Datenbanken in nikic-Reihenfolge ansprechen. Ist nämlich wirklich so, dass fast ausschließlich aus Datenbank1 gelesen werden soll.
  7. 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!