abfrage von lokaler und online-datenbank ausgeben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • abfrage von lokaler und online-datenbank ausgeben

    tach zusammen,

    habe daten aus einen artikelstamm, welche in einer lokalen sql-datenbank liegen und daten, welche auf einem webserver liegen.
    (die daten auf dem webserver habe ich schon erfolgreich ausgeben können).

    um keine doppelten einträge zu machen, würde ich gerne die datensätze, welche lokal vorliegen, abfragen und ausgeben.

    muss ich zwei db-connections angeben oder wie läuft das mit zwei datenbanken?


    gruss
    b.

  • #2
    jo, zwei logins mit unterschiedlichen handels.

    $link1 = mysql_connect ("localhost", "mysql_user", "mysql_password")
    or die ("keine Verbindung möglich");

    $link2 = mysql_connect ("Webserver", "mysql_user", "mysql_password")
    or die ("keine Verbindung möglich");

    Abgefragt wird dann

    $result1 = mysql_query ("SELECT my_col FROM my_tbl",$link1)
    or die ("Invalid query");

    $result2 = mysql_query ("SELECT my_col FROM my_tbl",$link2)
    or die ("Invalid query");

    Achtung,
    bei jeder Abfrage muss die Verbindungs-Kennung angegeben werden, wenn nicht wird automatisch der letzt connect genommen!

    gruß
    berni

    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

    Kommentar


    • #3
      genau ... zwei db-connections

      willst du vom Webserver aus auf ein DBMS auf deiner Maschine connecten, muss das Skript entweder deine IP oder einen Namen kennen, den der Router direkt auf deinen Rechner leitet; und das dann statt 'localhost' dem mysql_connect als dbhost übergeben.
      mein Sport: mein Frühstück: meine Arbeit:

      Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

      Kommentar


      • #4
        @berni
        @titus

        danke für die schnelle hilfe,
        aber die sache von titus ist mir noch nicht ganz klar,
        also beim lokalem server anstatt "localhost" dann "dbhost"?

        oder muss ich anstatt dbhost ne ip-nummer angeben?
        gruss und dank
        b.

        Kommentar


        • #5
          Ich vermute, dass der Webserver auch der Server ist, auf dem das PHP-Skript laufen soll?!
          Dann musst du für den Zugriff auf deinen Rechner dessen IP-Adresse angeben statt 'localhost'.

          Meinst du mit "lokal" den Rechner, auf dem das Skript läuft und mit "Webserver" einen anderen Server, dann musst du die IP oder URL des anderen Servers für den Remote-Zugriff angeben.
          mein Sport: mein Frühstück: meine Arbeit:

          Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

          Kommentar


          • #6
            hi titus,
            deine vermutung ist richtig.

            der server auf dem das script läuft ist ein webserver, also
            der server von unserem provider.

            der lokale server steht in unserer firma.

            die daten vom webserver werden schon hervorragend ausgegeben.
            jetzt muss aber noch der firmenserver angesprochen werden.

            vielleicht gibts da ein thread oder eine detailierte beschreibung, wie ich das hinbekomme. stell mich manchmal an, als hätt ich das "homer-gen" :-)

            greetz
            b.

            Kommentar


            • #7
              Der Firmenserver braucht eine feste IP oder einen Namen, über den er per DNS erreichbar ist.
              Und natürlich muss der mysqld laufen.

              PHP-Code:
              $localuser DB-Username auf Webserver;
              $localpasswd Passwort dazu;
              $localdb Name der Datenbank auf dem Webserver;
              $firmenserver IP oder Name des Firmenservers;
              $firmenuser DB-Username auf Firmenserver;
              $firmenpasswd passendes Passwort;
              $firmendb Name der DB auf Firmenserver;

              $webhost mysql_connect('localhost'$localuser$localpasswd);
              mysql_select_db($localdb$webhost);
              $remote mysql_connect($firmenserver$firmenuser$firmenpasswd);
              mysql_select_db($firmendb$remote); 
              Dann kannst du mit mysql_query($query, $webhost); den lokalen Webserver und mit mysql_query($query, $remote); den Firmenserver ansprechen.
              mein Sport: mein Frühstück: meine Arbeit:

              Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

              Kommentar

              Lädt...
              X