mysql_select_db in function

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

  • mysql_select_db in function

    Hallo ich versuche eine Funktion zu bauen die meine DB auswählt und die verbindung herstellt. Hier erstmal der Code:

    PHP-Code:
    function connectdb(){
        
    $connection mysql_connect($sql['host'],$sql['uid'],$sql['pwd']);
        if(
    $connection){
          if(
    mysql_select_db($sql['db'])){
             echo 
    'Verbindung steht zur Datenbank "';
             echo 
    $sql['db'];
             echo 
    '" steht';
            
            }
          else{
            echo 
    '<p>Datenbank konnte nicht ausgew&auml;hlt werden!</p>';
            }
          }
          else{
          echo 
    '<p>Die Verbindung zur Datenbank konnte nicht hergestellt werden!</p>';}
        } 
    Ich möchte diese über einen Include Befehl in alle Dateien setzen wo ich sie brauche.
    Mein Problem:
    Er stellt die Verbindung zu MySql her, wählt aber nicht die Datenbank aus.
    Ich bekomme nur die von mir erstellte Meldung

    Datenbank konnte nicht ausgewählt werden!

    Irgendwie muss der Fehler hier liegen:

    mysql_select_db($sql['db'])

    Vielleicht fällt einem von euch ja mein Fehler auf?

    Vielen Dank schonmal Henning

  • #2
    ich denke, dass der fehler schon vorher auftritt. wo wird denn $sql definiert? wie kommt es in die fkt rein? warum verwendest du kein mysql_error()? usw ....
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Hier kommen die Daten her:

      include('/..pfad zu ../mysql.inc.php');

      Das irre ist, wenn ich den Code so laufen lasse und nicht als function() funktioniert er. Nur wenn ich ihn als funktion aufrufe hauts nicht hin.

      My SQL_Error sagt MySQL-Error: No database selected

      Gruß Henning

      Kommentar


      • #4
        man kann mysql_error() auch bei mysql_connect() und mysql_select_db() anwenden!

        wie kommt es in die fkt rein?
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Hallo,

          bei MySQL Select_db bekomme ich die Meldung:

          MySQL-Error: No database selecte

          und bei mysql connect keine.

          Nochmal: Wenn ich den Code normal ausführe funktioniert es. Nur wenn in eine fkt gepackt ist nicht

          Henning

          Kommentar


          • #6
            Re: mysql_select_db in function

            Und woher kennt deine Funktion die Variable $sql?
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              OK, ich habe den Fehler gefunden!!!

              Ich habe die Daten per include(); am anfang des PHP Dokuments aufgerufen. Das hatte zur folge, das die Daten in der Funktion nicht vorhanden sind. Nachdem ich den Include() Befehl mit in die Funktion geschrieben habe funktioniert es.

              Heißt das, dass alles was ich nicht innerhalb einer function() an Variablen angeben sondern ausserhalb der fkt aber im gleichen Dokument angebe der funktion nicht zur verfügung steht.

              Wenn das so ist, gibt es da einen Trick wie man das bewerkstelligen kann?

              Danke Henning

              Kommentar


              • #8
                die antwort darauf ist (wie immer) im manual zu finden:

                http://de2.php.net/manual/en/languag...bles.scope.php
                http://de2.php.net/manual/en/languag...s.user-defined
                http://de2.php.net/manual/en/functions.arguments.php

                und vieles mehr.

                Kommentar


                • #9
                  Habe ich jetzt auch schon gefunden.

                  Das Problem war oder ist auch meistens , dass man erstmal wissen muss was überhaupt los ist bevor ich im manual was suchen kann.

                  Trotdem vielen Dank an alle die mir geholfen haben.
                  Vielleicht kann ich ja mal revangieren.

                  Gruß Henning

                  Kommentar

                  Lädt...
                  X