probleme mit datenbank connect

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

  • probleme mit datenbank connect

    hiho,

    ich denke es handelt sich um ein php-problem ...
    und ich bin nur zu muede den fehler zu finden ....

    ich hab hier grad nen skript.
    das soll mit daten aus einer db-holen und daten in eine andere db-schreiben.

    hier die connects zu den dbs .:
    PHP-Code:
    $dbschreib mysql_connect($dbserver,$dbuser,$dbpass);
     
    mysql_connect($dbserverlesen,$dbuser,$dbpass); 
    $dbschreib wird nur aufgerufen wenn in eine db etwas geschrieben wird...

    die daten aus der db-holen ist nicht das problem ...
    jetzt will ich aber auch spaeter etwas schreiben ...

    hier mein code dazu
    [/php]
    mysql_query("DELETE FROM ".$tabelle." WHERE expire < ".time()."", $dbschreib);
    [/php]

    ich gebe also den befehl mit und mit $dbschreib das er die andere db zum schreiben benutztn will ...
    erhalten tu ich folgendes :

    Warning: Supplied argument is not a valid MySQL-Link resource in /home/firsthttp/http/de/downloadarea/index.php on line 50

    warum ??ß

    gruss
    iglo

  • #2
    Öhm...dir is klar das man mit einer Verbindung sowohl schreiben als auch lesen kann oder?

    Du brauchst also gar keine zwei Verbindungen.

    Btw:
    Wenn du zwei versch. Verbindungen haben willst musst du der 2. auch ne Variable zuweisen.
    Welch triste Epoche, in der es leichter ist, ein Atom zu zertrümmern als ein Vorurteil!
    (Albert Einstein)

    Kommentar


    • #3
      hiho

      nene ... ich brauch schon 2 verbindungen ... da es um eine seite geht die ueber mehrere server verfuegt ... geschrieben wird immer auf einen server, der das dann an die anderen weitergibt ...

      deswegen 2.verbindunegn ...

      also wenn ich meine zweite verbindung auch noch per variabler bennen und das dann bei den uebrall einfueg funzt das ???
      weil die macht ja grade das lesen und das funzt auch jetzt schon einwandfrei ....

      gruss
      iglo

      Kommentar


      • #4
        Original geschrieben von Samson2k
        Öhm...dir is klar das man mit einer Verbindung sowohl schreiben als auch lesen kann oder?
        Falsch. Je nach dem wie die Rechte fuer den Benutzer sind, kannst du auch nur lesen. Bei Scripts die nur Daten aus der Datenbank lesen ist es sogar ratsam, diesen nur Lesezugriff zu gestatten. Sollte zu jedem Sicherheitsmodell eines jeden besseren Entwicklers gehoeren.

        Bei dir zuhause wirst du wahrscheinlich immer mit root-Zugriff in deiner Datenbank arbeiten, aber in "freier Wildbahn" sieht die Sache etwas anders aus.

        Kommentar


        • #5
          so ... damit es nicht untergeht :

          warum benutz ich 2 connections zur datenbank ...


          das projekt (www.thetrain.de) hat mehrere server ...
          ein user landet auf einem server wenn er die seite betritt ...

          solange er nur select zugriffe macht, bleibt er auf dem server ...
          wird aber etwas durch seine aktionen in der datenbank geaendert,
          so muss auf den db-server geschrieben werden, der das dann immer an die anderen weitergibt ...


          deswegen 2 connections ..

          gruss
          iglo

          Kommentar


          • #6
            Mhm. Soweit ich das sehe, hast du auch keine Tabelle ausgewählt. Ob das nun der Grund ist, weiß ich allerdings auch nicht!

            Kommentar


            • #7
              das mysql_select_db() wurde ausgefuehrt ....

              ich versteh das problem einfach nicht, da es glaub ich zu einfach ist ...

              naja ...

              zur not wird die seite einfach nochmal geschrieben

              gruss
              iglo

              Kommentar


              • #8
                Re: probleme mit datenbank connect

                Du must den verschiedenen Verbindungen verschiedene Resource-Variablen geben, damit PHP weiß an welchen Server es die Anfrage schicken soll.
                PHP-Code:
                $db2_schreiben mysql_connect($dbserver,$dbuser,$dbpass);
                $db1_lesen=mysql_connect($dbserverlesen,$dbuser,$dbpass); 
                und dann
                PHP-Code:
                $do_lesen=mysql_query($query1,$db1_lesen); // Zum Auslesen
                ...
                $do_schreiben=mysql_query($query2,$db2_schreiben); // Zum Schreiben 
                Vorraussetzung ist natürlich, dass das Script auch die Rechte hat in der zweiten Datenbank schreiben zu dürfen. Da dies aber ein erhebliches Sicherheitsrisiko darstellt (wenn die Db wirklich auf einem anderen Server liegt), kann ich mir nicht vorstellen, dass der Provider das überhaupt erlaubt.

                Kommentar


                • #9
                  hiho


                  danke , ich werde das mal so ausprobieren ....
                  der connect zur anderen db funktioniert ...

                  gruss
                  iglo

                  Kommentar


                  • #10
                    Original geschrieben von Happy Nihilist
                    Falsch. Je nach dem wie die Rechte fuer den Benutzer sind, kannst du auch nur lesen. Bei Scripts die nur Daten aus der Datenbank lesen ist es sogar ratsam, diesen nur Lesezugriff zu gestatten. Sollte zu jedem Sicherheitsmodell eines jeden besseren Entwicklers gehoeren.

                    Bei dir zuhause wirst du wahrscheinlich immer mit root-Zugriff in deiner Datenbank arbeiten, aber in "freier Wildbahn" sieht die Sache etwas anders aus.

                    OffTopic:

                    ...nicht wirklich, bei mir auf meinem Webserver hat nur PHP myAdmin root Rechte und das auch nur von localhost aus
                    Der Webserver und der DB-Server laufen unter untersch. Usern auf Debian und haben nur auf ihre Verzeichniss zugriff. Soweit ich weiß ist das in der freien Wildbahn nicht viel anders

                    Ich bin davon ausgegangen das er ein Standartwebpacket hat und da sollte man schreiben und lesen können
                    Welch triste Epoche, in der es leichter ist, ein Atom zu zertrümmern als ein Vorurteil!
                    (Albert Einstein)

                    Kommentar

                    Lädt...
                    X