eichbaum: Verbindung zur Datenbank

Hallo Leute,

Ich bin gerade dabei, mich ein wenig in PHP / MySQL einzuarbeiten und wollte gerade mit dem ersten Script anfangen: die Datenbank soll geöffnet werden. Direkt funktioniert das auch. Nur wenn ich Hostname, Benutzername und Kennwort auslagern und referenzieren möchte, erhalte ich die Fehlermeldungen:

Warning: Wrong parameter count for connect() in /home/blabla/htdocs/php/verbindung.php3 on line 3

Fatal error: Cannot redeclare connect() in /home/blabla/htdocs/php/verbindung.php3 on line 5

Mein Code sieht folgendermaßen aus:

<?  // verbindung.php3
  include("zugangsdaten.php3");
  $dblk=connect();

function connect() {
  global $MySQL_Host, $MySQL_User, $MySQL_Passw;
  if (! $linkid=@mysql_connect("$MySQL_Host","$MySQL_User","$MySQL_Passw")) {
usw...

Kann es sein, daß bei connect noch eine Parameteranzahl erwartet wird? Im Archiv hab´ ich leider nichts wirklich passendes gefunden.

Schönen Gruß und Danke,
eichbaum

  1. Ich bin gerade dabei, mich ein wenig in PHP / MySQL einzuarbeiten und wollte gerade mit dem ersten Script anfangen: die Datenbank soll geöffnet werden.

    Sorry - natürlich soll nicht die Datenbank geöffnet, sondern erst mal überhaupt zum Server verbunden werden...

    eichbaum

  2. Hallo,

    folgendes Script - im Prinzip genau deines funktioniert bein mir:

    <?  // verbindung.php3
      include("zugangsdaten.php3");

    function connect() {
        global $MySQL_Host, $MySQL_User, $MySQL_Passw;
        if (! $linkid=@mysql_connect("$MySQL_Host","$MySQL_User","$MySQL_Passw")) {
          echo "schade";
        }
        else {
          return $linkid;
        }
      }

    $dblk=connect();
      echo $dblk;
    ?>

    Ausgegeben wird wie erwartet 1. Falls du das Script so wie von dir beschrieben verwenden willst - musst du auf jeden Fall darauf achten, dass der Aufruf der Funktion connect() erst NACH der Definition der Funktion im Script abgearbeitet wird. Zum Zeitpunkt, zu dem du die Funktion aufrufst, ist sie noch nicht definiert. Die ausgegebene Fehlermeldung kann einen aber leicht auf die flasche Fährte locken - bei mir kommt jedoch folgende Fehlermeldung, wenn ich das Script in deiner Reihenfolge abarbeiten lasse:

    Fatal error: Call to unsupported or undefined function connect() in /www/webbiz/info/test.php on line 3

    Die ist meiner Ansicht nach auch richtig und vor allem aussagekräftiger. Hoffe das es das war.

    liebe gruesse aus oesterreich
     Martin

    1. Hi Martin!

      Klar - klingt vernünftig. Man sollte halt doch zuerst definieren, was man aufruft... Werde das gleich ausprobieren.

      Danke!
      eichbaum