Datenbank wechsel funzt nicht???

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

  • Datenbank wechsel funzt nicht???

    Hallo.

    Ich möchte beim aufbau einer seite zwei verschiedene datenbanken benutzen. Auf die erste Datenbank (usr_web2_1) kann ich auch ohne Probleme zugreifen, wenn ich dann aber die zweite Datenbank (usr_web2_2) auslesen will, kann ich nicht zu dieser mit mysql_select_db() wechseln. Hier der Code:
    PHP-Code:
    $db_host="localhost";
    $db_name="usr_web2_1";
    $db_name2="usr_web2_2";
    $db_user="web2";
    $db_pass="password";

    $db_connect mysql_connect($db_host$db_user$db_pass) or die(mysql_error());
    $db_name_connect mysql_select_db($db_name,$db_connect) or die(mysql_error());  

    // Hier funktioniert die Abfrage der Daten noch, ohne Probleme...

    // Jetzt will ich auf die zweite Datenbank wechseln...

    $db_name_connect mysql_select_db($db_name2,$db_connect) or die(mysql_error());  

    // Hier kommt der Fehler 
    Der Fehler lautet : Access denied for user: 'web2@%' to database 'usr_web2_2'

    Was mache ich beim Umschalten falsch???

    Danke, MfG

  • #2
    Freundlicherweise teilt dir MySQL sogar mit, was du falsch machst: Du versuchst als User web2 auf die DB usr_web2_2 zuzugreifen und das ist diesem User eben nicht erlaubt.

    Kommentar


    • #3
      das ist versteh ich schon...aber warum soll das user web2 nicht erlaubt sein? die andere datenbank darf der doch auch zugreifen?

      wie kann man das ändern, so dass er zugriff hat? hatte so ein problem noch nicht.

      Kommentar


      • #4
        @% sieht für mich ungewohnt aus. hast du ne erlärung woher das % kommt?

        ausprobiert die db2 zu selecten, ohne zuvor die 1 auszuwählen?

        Kommentar


        • #5
          keine ahnung wo das her kommt. wenn ich die 2. standardmässig connecte anstatt der ersten bekomm ich auch ein fehler!

          Kommentar


          • #6
            Na, dann solltest du vielleicht doch mal die angesprochenen Rechte prüfen!

            Kommentar


            • #7
              Original geschrieben von TriphunEM
              ...aber warum soll das user web2 nicht erlaubt sein? die andere datenbank darf der doch auch zugreifen?
              Warum kann ich nicht auf dein Konto zugreifen, auf meins kann ich ja auch zugreifen?

              Schlag im MySQL-Manual nach ... unter GRANT.

              Kommentar


              • #8
                web2 ist der user, die datenbanken sind web2_1 und web2_2.

                Das kann durchaus so sein und hat erstmal nicht mit mein und dein konto zu tun. die db sollten beide zum web2 gehören. nur ob der user web2 auch die rechte auf beide (besonders die letzte) DB hat, ist halt eher fraglich.

                Kommentar


                • #9
                  Es kommt auf die Umstände an. Bei einem webhoster ist oftmals 1 user = 1 datenbank, und ausserdem gibt es in phpMyAdmin keine Benützerrechte. In diesem Fall würde es wohl zwei separate $connection brauchen. usernamen und datenbanknamen werden vorgegeben, bloss das Passwort darf der Kunde selber wählen...

                  Kommentar


                  • #10
                    Original geschrieben von TobiaZ
                    web2 ist der user, die datenbanken sind web2_1 und web2_2.

                    Das kann durchaus so sein und hat erstmal nicht mit mein und dein konto zu tun. die db sollten beide zum web2 gehören. nur ob der user web2 auch die rechte auf beide (besonders die letzte) DB hat, ist halt eher fraglich.
                    Doch, hat mit mein Konto dein Konto zu tun: MySQL-Server = (Online-)Bank, User = Kunde, DB = Konto.
                    Ich (User web2) darf auf mein Konto (Datenbank usr_web2_1) zugreifen, aber nicht auf deins (Datenbank usr_web2_2). Warum ist klar: "darf nicht" = User hat nicht die erforderlichen Rechte.
                    Rechte und MySQL ... -> Handbuch, Grant!

                    Klarer?

                    Kommentar


                    • #11
                      wenn der user web2 heisst, und es zwei Datenbanken usr_web2_1 bzw. user_web2_2 gibt, würde man denken, dass user web2 an beiden berechtigt sein sollte. Dann liegt ein einfacher Fehler in der Rechtevergebung vor. Andernfalls, falls user web2 nicht an beiden berechtigt ist, ist die Namensgebung wirr. Es ist aber auch vorstellbar, dass es nicht die wirklichen Namen sind, sondern für das Posting (falsch) vereinfachte, nicht isomorphe.

                      Kommentar

                      Lädt...
                      X