LeoB: Probleme mit phpmyadmin

Hallo!

Ich habe Probleme mit meiner WAMP-Installation, die vermutlich an phpmyadmin liegen.
Ich habe den Apache, PHP und MySQL separat installiert und zum laufen gebracht, kann nun jedoch phpmyadmin nicht benutzen.

Das heisst, ich kann in der Standardmässig angelegten Datenbank "test" etwas verändern, neue Tabellen anlegen, die DB auch mit meinen PHP Scripten abfragen etc., das funktioniert alles einwandfrei.

Wenn ich allerdings über phpmyadmin eine neue DB anlege, können die Daten daraus nicht über meine PHP-Skripten abgefragt werden. Seltsamerweise bringt er keine Fehlermeldung bzl. der DB, sondern meldet, das Statement bzw. die Werte darin seien nicht korrekt, obwohl diese 100%ig passen.

Kann mir jemand helfen? Ich wäre euch sehr dankbar,

Gruss, Leo

  1. Hi Leo,

    hast du denn auch angegeben, aus welcher Datenbank dein Script die Daten holen soll? :-)
    (mysql_select_db)

    Gruß
    Ben

    1. Hi Ben,

      hast du denn auch angegeben, aus welcher Datenbank dein Script die Daten holen soll? :-)
      (mysql_select_db)

      ja, das habe ich gerade noch geschafft :-)

      Daran liegts (zum Glück bzw. leider) auch nicht.

      Gibt's sonst noch Ideen?

  2. Huhu Leo

    Wenn ich allerdings über phpmyadmin eine neue DB anlege, können die Daten daraus nicht über meine PHP-Skripten abgefragt werden. Seltsamerweise bringt er keine Fehlermeldung bzl. der DB, sondern meldet, das Statement bzw. die Werte darin seien nicht korrekt, obwohl diese 100%ig passen.

    Poste doch mal die Fehlermeldung.

    100%ig glaube ich erstmal nicht, denn nichts ist so einfach als dass man es nicht auch verkehrt machen könnte ;-)

    Viele Grüße

    lulu

    --
    bythewaythewebsuxgoofflineandenjoytheday
    1. Hi lulu,

      Poste doch mal die Fehlermeldung.

      Warning: mysql_result(): supplied argument is not a valid MySQL result resource in D:\Apache2\htdocs\db.php on line 44

      Warning: mysql_result(): supplied argument is not a valid MySQL result resource in D:\Apache2\htdocs\db.php on line 45

      100%ig glaube ich erstmal nicht, denn nichts ist so einfach als dass man es nicht auch verkehrt machen könnte ;-)

      Ich weiss, bin mir allerdings deshalb ziemlich sicher, weil das Statment ja vom phpmyadmin aus funktioniert und das richtige anzeigt (einfaches select...)

      Allerdings ist mir gerade eben aufgefallen, dass es ganz egal ist, ob ich die richtige DB angebe oder eine andere, er bringt mir immer die gleiche (obige) Fehlermeldung.

      Ist es auch möglich, dass er mir aufgrund irgendwelcher einstellungen in der httpd.conf o.ä. irgendwelche weiteren Fehlermeldungen unterschlägt?

      Vielen Dank schonmal für weitere Hilfe,

      Leo

      1. Hallo Leo,

        Warning: mysql_result(): supplied argument is not a valid MySQL result resource in D:\Apache2\htdocs\db.php on line 44

        Was sagt mysql_error() (->http://de2.php.net/mysql_error)?

        Grüße aus Nürnberg
        Tobias

        --
        Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
        1. Hallo Tobias,

          Was sagt mysql_error() (->http://de2.php.net/mysql_error)?

          oha, da heist's einmal nach dem select_db:
          Access denied for user '@localhost' to datebase 'list'

          und nach dem Statement:
          No Databast selected

          Was hat das zu bedeuten?

          Danke, Leo

          1. Hallo Leo,

            oha, da heist's einmal nach dem select_db:
            Access denied for user '@localhost' to datebase 'list'

            hier schlägt das Verbinden zu der Datenbank "list" mangels Rechten fehl ...

            und nach dem Statement:
            No Databast selected

            ... und dann beschwert sich mysql zu Recht, dass keine Datenbank ausgewählt ist :-)

            kannst du mal etwas Code posten?

            Grüße aus Nürnberg
            Tobias

            --
            Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
            1. kannst du mal etwas Code posten?

              Mein Code lautet folgendermassen:

              /* Datenbankserver */
                $db_server = "127.0.0.1";

              /* Datenbankname */
                $db_name = "list";

              /* Datenbankuser */
                $db_user = "sa";

              /* Datenbankpasswort */
                $db_passwort = "";

              /* Erstellt Connect zu Datenbank */
                $db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen");
                $db_select = @MYSQL_SELECT_DB($db_name) or die ('hat nicht geklappt weil...'.mysql_error());

              $result = mysql_query("SELECT * FROM eluser") or die ('hat nicht geklappt weil...'.mysql_error());

              echo mysql_result($result,0,"userid");
                echo mysql_result($result,0,"username");

              Wenn ich jetzt da eben die DB test benutze (den dbserver, user und pw gleichlasse) und das statment mit eine solchen tabelle versuche, funktionierts.
              Wie oder wo kann ich denn die Rechte der einzelnen DB's einstellen?

              Danke, Leo

      2. Huhu Leo

        Warning: mysql_result(): supplied argument is not a valid MySQL result resource in D:\Apache2\htdocs\db.php on line 44

        Ist es auch möglich, dass er mir aufgrund irgendwelcher einstellungen in der httpd.conf o.ä. irgendwelche weiteren Fehlermeldungen unterschlägt?

        Erstmal die Bälle flachhalten und konsequent alle Fehlermeldungen
        ausspucken lassen.

        Ich nehme mal an Du setzt ein Query ab ohne ggf. Fehler abzufangen.

        Wenn Du also etwas in dieser Art

        mysql_query($query);

        in Deinem Skript stehen hast ersetze es durch

        mysql_query($query) OR die('Ups hat nicht geklappt weil ... '.mysql_error());

        Schau Dir auch mal Dein SQL-Statement an.
        Gerne genommene Fehler sind z.B.

        a) Verwendung von Schlüsselwörtern

        b) Fehlende Anführungen

        c) fehlender Whitespace

        d) fehlende Komma

        e) etc.

        Viele Grüße

        lulu

        --
        bythewaythewebsuxgoofflineandenjoytheday
        1. hi,

          Wenn Du also etwas in dieser Art

          mysql_query($query);

          in Deinem Skript stehen hast ersetze es durch

          mysql_query($query) OR die('Ups hat nicht geklappt weil ... '.mysql_error());

          und auch schon vorher, beim verbindungsaufbau/auswahl der datenbank, sollte mysql_error() zum einsatz kommen.

          gruß,
          wahsaga

          --
          I'll try being nicer if you'll try being smarter.
          1. und auch schon vorher, beim verbindungsaufbau/auswahl der datenbank, sollte mysql_error() zum einsatz kommen.

            Hab's so gemacht, guter Tipp, danke!

            Also den Connect zum DBServer schafft er noch, aber die Datenbank selber will er dann nicht mehr öffnen, weil er eben sagt:
            Access denied for user '@localhost' to database 'list'

            Ich hab mal so den verdacht, dass da was vor dem '@localhost' fehlt bzw. da was ganz anderes stehen müsste, oder?

            Danke, Leo