mysql_select_db -> plötzlich access denied

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

  • mysql_select_db -> plötzlich access denied

    Hallo,

    ich habe eine PHP-seite mit einer SQL-Datenbank betrieben. Es lief alles einwandfrei. Irgendwann funktionierte die Datenbankabfrage nicht mehr...

    Datei mgv.php
    PHP-Code:
    $hostname_mgv "host";
    $database_mgv "db";
    $username_mgv "user";
    $password_mgv "pass";
    $mgv mysql_connect($hostname_mgv$username_mgv$password_mgv) or die(mysql_error()); 
    Ausschnitt start.php
    PHP-Code:
    <?php require_once('Connections/mgv.php'); ?>
    ...
        $ok = mysql_select_db($database_mgv, $mgv);
        if(!$ok) {
            die('Verbindung nicht möglich : ' . mysql_error());
        }
    An dieser Steller erscheint jetzt die Fehlermeldung:
    Access denied for user: 'user@%' to database 'db'

    Kann das mit einer Umstellung von PHP 4 auf PHP5 zusammenhängen?
    Wie kann ich den Fehler beheben?

    Vielen Dank schonmal für eure Hilfe!

  • #2
    Kann das mit einer Umstellung von PHP 4 auf PHP5 zusammenhängen?
    Eigentlich nicht. Sieht aus, als ob die Zugangsdaten geändert wurde. Die mysql-Erweiterung ist aber aktiv?

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Die mysql_* Funktionen sind veraltet und sollten nicht mehr verwendet werden. Hat zwar mit dem aktuellen Problem nichts zu tun, aber du wirst deswegen in Zukunft auf ein anderes Problem stoßen, wenn bei deinem Betreiber die mysql_* Funktionen nicht mehr zur Verfügung stehen.

      Kommentar


      • #4
        Danke schonmal für die Rückmeldungen!

        @Kropff
        Was ich nicht nachvollziehen kann: mysql_connect wird mit den Zugangsdaten korrekt ausgeführt, ohne Fehlermeldung. Wenn man den Inhalt von $mgv ausgibt, erscheint "Resource id#2".
        Also scheint doch die Verbindung zur Datenbank zu funktionieren, oder?
        Erst beim Aufruf von mysql_select_db erscheint die Fehlermeldung...

        @h3ll
        Was sind denn die aktuellen Funktionen an Stelle von mysql_*? mysqli_*?
        Von mysql_connect -> mysqli_connect
        Von mysql_select_db -> ?

        Kommentar


        • #5
          Zitat von busstop Beitrag anzeigen
          Also scheint doch die Verbindung zur Datenbank zu funktionieren, oder?
          Erst beim Aufruf von mysql_select_db erscheint die Fehlermeldung...
          Das spricht dann dafür, dass $mgv eben doch keine gültige Verbindungskennung enthält zu dem Zeitpunkt, wo du es an mysql_select_db übergibst – und dann versucht diese Funktion, selber eine Verbindung herzustellen, mit den in der PHP-Konfiguration hinterlegten Default-Zugangsdaten (und wenn die nicht passen oder gar nicht gesetzt sind, dann schlägt das halt fehl).

          Ist denn die Variable $mvg in dem Kontext an der Stelle überhaupt verfügbar?
          Oder steckt der Code, in dem mysql_select_db ausgeführt wird, vielleicht in einer Funktion – wo dann die Variable gar nicht bekannt wäre, wenn sie nicht explizit übergeben wurde …?
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Wie kann ich prüfen, ob $mgv an der Stelle korrekt besetzt ist?
            echo $mgv ergibt "Resource #id2"

            Kommentar


            • #7
              wieso stecken überhaupt das mysql-connect() und das mysql_select_db() in zwei verschiedenen Dateien?

              Aktivire mal dein error_reporting()
              Vermutlich schreit PHP jämmerlich um Hilfe und du hörst gar nicht zu!
              Wir werden alle sterben

              Kommentar


              • #8
                Beide Befehle in einer Datei macht leider keinen Unterschied...

                Error_reporting() explizit anzuschalten bringt keine neuen Fehlermeldungen.,..

                ???

                Kommentar


                • #9
                  Ich habe nochmal versucht eine Lösung zu finden... es geht immer noch nicht...

                  Was in aller Welt kann man in der Serverkonfiguration ändern, dass mysql_connect noch funktioniert, aber mysql_select_db nicht mehr OHNE dass ich irgendetwas am PHP-Code geändert habe...?

                  Ist das Prozentzeichen % in der Fehlermeldung eigentlich üblich? Ist das ein Hinweis...?
                  Access denied for user: 'user@%' to database 'db'

                  Kommentar


                  • #10
                    Zitat von busstop Beitrag anzeigen

                    Was in aller Welt kann man in der Serverkonfiguration ändern, dass mysql_connect noch funktioniert, aber mysql_select_db nicht mehr OHNE dass ich irgendetwas am PHP-Code geändert habe...?
                    Eine ganz verwegene Idee:
                    Ist vllt. der DB-Name geändert?

                    Oder:
                    Was sagt phpMyadmin zur DB-Struktur?

                    Man sollte echt mal nachsehen, wie die Roh-Daten bzw. wie PhpMyAdmin die Struktur der Datenbank darstellt.

                    Kommentar

                    Lädt...
                    X