Satori: Ich komm einfach nicht mehr weiter !!!

Hi Leute!

Also ich habe folgendes Problem:
Ich habe mir eine MySql-Datenbank erstellt.
Die Datenbank heißt "usr_web3_1"
Jetzt kommt die Problematik.

<?php  
mysql_connect("meinhoster.de","benutzername","passwort") or die("Konnte Datenbankverbindung nicht herstellen");  
  
mysql_query("USE usr_web3_1;") or die("Die Datenbank existiert nicht");  
  
?>

http://www.freehostingcommunity.de/mysql/

Ich versuche per PHP meine neue Datenbank auszuwählen aber es kommt immer der Fehler !!

Schonmal danke im vorraus für eure Antworten!!

  1. Lieber Satori,

    http://www.freehostingcommunity.de/mysql/

    kann das an dem Semikolon nach dem Datenbank-Namen liegen?

    mysql_query("USE usr_web3_1;") or die("Die Datenbank existiert nicht");

    .............................^

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. Grüße,

      kann das an dem Semikolon nach dem Datenbank-Namen liegen?

      ich muss zugeben, semikolons in mysql-querys sehr, sehr , sehr selten gesehen zu haben.

      MFG
      bleicher

      --
      __________________________-
      Menschen an sich , sind nicht schlecht - es sind nur ihre Taten (c).
      http://www.sexgott-or-not.com/?test=428054
    2. Hallo Felix

      kann das an dem Semikolon nach dem Datenbank-Namen liegen?

      mysql_query("USE usr_web3_1;") or die("Die Datenbank existiert nicht");

      Nein ... ich hab das ; jetzt mal im PHP-Code weggelassen. Es kommt immernoch der Fehler...

      :(

  2. mysql_query("USE usr_web3_1;") or die("Die Datenbank existiert nicht");

    versuchs mit mysql_select_db()

    1. Hi Suit

      versuchs mit mysql_select_db()

      mysql_query("USE usr_web3_1") or die("Die Datenbank existiert nicht");
      mysql_select_db("usr_web3_1") or die("Die Datenbank existiert nicht");

      Beides geht nicht ...

      1. Hallo

        versuchs mit mysql_select_db()

        mysql_query("USE usr_web3_1") or die("Die Datenbank existiert nicht");
        mysql_select_db("usr_web3_1") or die("Die Datenbank existiert nicht");

        Beides geht nicht ...

        eine ausgezeichnete Fehlerbeschreibung, meine Glaskugel kann damit leider nichts anfangen - und ich erst recht nicht.

        Wie wäre es, wenn Du Dir mal ausgeben ließest, was mysql_error() zu vermelden hat. Anschließend bitte uns die Fehlermeldung mitteilen, wäre ebenfalls eine hervorragende Idee :-)

        Ach ja, die() ist keine Fehlerbehandlung.

        Freundliche Grüße

        Vinzenz

        1. Hallo Vinzenz

          Die Fehlermeldung gibt folgendes aus:

          1044: Access denied for user 'web3'@'' to database 'usr_web3_1'

          Aber warum ??

          Wenn ich mich in phpMyAdmin einlogge und dann bei SQL-Befehl(e) in Datenbank ausführen:

          use usr_web3_1

          eingebe Funktioniert das ...

          Satori

          1. Mahlzeit Satori,

            Die Fehlermeldung gibt folgendes aus:

            1044: Access denied for user 'web3'@'' to database 'usr_web3_1'

            Aber warum ??

            Weil der von Dir verwendete Benutzer "web3" (ohne Angabe, ob der lokaler oder entfernter Benutzer ist) anscheinend nicht auf die Datenbank "usr_web3_1" zugreifen darf.

            Bist Du Dir sicher, dass der verwendete Benutzer der gleiche ist wie der, der in MySQL hinterlegt ist? Bist Du Dir sicher, dass er die entsprechenden Rechte an der Datenbank hat?

            Wenn ich mich in phpMyAdmin einlogge und dann bei SQL-Befehl(e) in Datenbank ausführen:

            use usr_web3_1

            eingebe Funktioniert das ...

            Und welchen Benutzer benutzt phpMyAdmin?

            MfG,
            EKKi

            --
            sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
            1. Hi EKKi

              Da ich noch nicht so viel ahnung von SQL-Datenbanken hab, denke ich mal ich kann euch jetzt das passwort für meine MySql Datenbank geben - ist ja noch nichts drauf ;)

              http://p159.purple.fastwebserver.de/phpMyAdmin/index.php?db=usr_web3_1&token=b83beecfdb237d841ea2e1a850e12e20&old_usr=web3

              Passwort: ibqQg9uS

              Satori

              1. Mahlzeit Satori,

                Da ich noch nicht so viel ahnung von SQL-Datenbanken hab, denke ich mal ich kann euch jetzt das passwort für meine MySql Datenbank geben - ist ja noch nichts drauf ;)

                Gerade WEIL Du noch nicht viel Ahnung von SQL-Datenbank hast, solltest Du NIEMANDEM Dein Passwort geben!

                Und spätstens JETZT solltest Du es schleunigst ändern ... ggf. ist diese Preisgabe auch schon ein Kündigungsgrund seitens Deines Providers - mach sowas NIE WIEDER!

                Stattdessen solltest Du Dich lieber mit den Grundlagen von MySQL (insbesondere der Benutzeranmeldung) vertraut machen.

                MfG,
                EKKi

                --
                sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
              2. Grüße,
                das solltest du

                1. niemals tun

                2)hilft es bedingt , da man immer noch die hostinfos suchen müsste um db-name rauszufufinden und die regeln für die vergabe/zuweiseung username/pw zu finden.

                MFG
                bleicher

                --
                __________________________-
                Menschen an sich , sind nicht schlecht - es sind nur ihre Taten (c).
                http://www.sexgott-or-not.com/?test=428054
                1. Hallo,

                  das solltest du

                  1. niemals tun

                  das ist richtig. Sowas sollte man _NIEMALS_ tun!!elf!!

                  2)hilft es bedingt , da man immer noch die hostinfos suchen müsste um db-name rauszufufinden und die regeln für die vergabe/zuweiseung username/pw zu finden.

                  doch, sicherlich:
                  Host:     localhost
                  Username: wie angegeben
                  Passwort: wie angegeben

                  Freundliche Grüße

                  Vinzenz

                  1. Grüße,

                    doch, sicherlich:

                    ja - wenn man sich einloggt und liest was da steht^^
                    aber das meinte ich ja mit

                    da man immer noch die hostinfos suchen müsste

                    ;)

                    MFG
                    bleicher

                    --
                    __________________________-
                    Menschen an sich , sind nicht schlecht - es sind nur ihre Taten (c).
                    http://www.sexgott-or-not.com/?test=428054
              3. Hallo Sartori,

                Da ich noch nicht so viel ahnung von SQL-Datenbanken hab, denke ich mal ich kann euch jetzt das passwort für meine MySql Datenbank geben - ist ja noch nichts drauf ;)

                http://p159.purple.fastwebserver.de/phpMyAdmin/index.php?db=usr_web3_1&token=b83beecfdb237d841ea2e1a850e12e20&old_usr=web3

                ändere *sofort* Dein Passwort!
                Wie ich bereits vermutete, ist Dein DB-Server über

                localhost

                ansprechbar, befindet sich also auf dem gleichen Rechner wie der Webserver.
                Der erste Parameter von mysql_connect() sollte daher "localhost" lauten.

                Freundliche Grüße

                Vinzenz

                1. Hallo Vinzenz

                  Es hat jetzt endlich Funktioniert!!

                  Ich habe nun localhost genommen:

                  mysql_connect("localhost","lalala","lalala");

                  Vielen Dank euch allen !!

                  Satori

                  1. Mahlzeit Satori,

                    Ich habe nun localhost genommen:

                    Und hoffentlich Dein MySQL-Passwort geändert?

                    MfG,
                    EKKi

                    --
                    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
                    1. Hi EKKI

                      Und hoffentlich Dein MySQL-Passwort geändert?

                      Hab ich schon gemacht ;)

                      Danke

                      Satori

                  2. Ich habe nun localhost genommen:
                    mysql_connect("localhost","lalala","lalala");
                    Vielen Dank euch allen !!

                    und trotzdem solltest du wie von mir beschrieben mysql_connect als verbindungsreferenz speichern und sämtliche parameter als konstanten definierten

                    define("HOST", "localhost");
                    define("USER", "foo");
                    define("PASS", "bar");
                    define("DB", "baz");

                    $connect = mysql_connect(HOST, USER, PASS);

                    zur auswahl der datenbank solltest du zudem mysql_select_db verwenden und auch wenn mysql_select_db immer automatisch die zuletzt erstellte verbindung nutzt, solltest du zu sicherheit die verbindung angeben - das kostet dich ein paar zeichen extra, damit stellst du aber sicher, dass defintiv diese verbindung genutzt - das ist vor allem bei scripten interessant, die zu mehreren verschiedenen datenbank gleichzeitig verbunden sind

                    mysql_select_db(DB, $connect);

          2. Hallo,

            Die Fehlermeldung gibt folgendes aus:

            1044: Access denied for user 'web3'@'' to database 'usr_web3_1'
            Aber warum ??

            weil der Servername fehlt. In vielen Fällen im Shared-Hosting-Bereich ist localhost der passende Name, da sich DB-Server und Webserver auf dem gleichen Rechner befinden. Normalerweise solltest Du über die Information verfügen, welchen Servernamen Du verwenden kannst.

            Freundliche Grüße

            Vinzenz

      2. mysql_query("USE usr_web3_1") or die("Die Datenbank existiert nicht");
        mysql_select_db("usr_web3_1") or die("Die Datenbank existiert nicht");

        ähm, hast du die doku überhaut gelesen oder nur den funktionsnamen getauscht?
        bevor du überhaupt eine datenbank ausgewählt hast, ist es immer interessant, die verbindungskennung mitzuschicken (in diesem fall $connect)

        $connect = mysql_connect(HOST,USER,PASS);
        mysql_query("USE " . DB, $connect);

        oder

        $connect = mysql_connect(HOST,USER,PASS);
        mysql_select_db(DB, $connect);

        wobei in jedem fall mysql_select_db zu empfehlen ist

        beides übrigens nicht getestet, aber gemäß doku richtig und funktioniert bei mir

        im übrigen HOST,USER,PASS und DB sollten natürlich als konstanten defiiert sein

        mysql_error(); liefert dir übrigens die mysql-fehlermeldung, deine eigene "Die Datenbank existiert nicht" hat nichts zu bedeuten