Bramburi Josi: MySQL Connect(password ?)-Probleme

Hallo !

Bitte könnt mir jemand weiterhelfen.

Habe seit drei 1/2 Stunden Troubles mit einem PHP-Script(result.php) auf eine MySQL-DB zuzugreifen. Das Problem liegt IMHO beim Passwort im File mysql_connectinfo.inc.php der mittels include eingebunden wird. Ich entdecke aber nicht was falsch ist. Auf Linux(SuSE 7.3)bin ich als root eingeloggt und greife vom localhost auf die DB zu.Und hab noch kein Passwort für MySQL eingerichtet.

In der Anleitung meines MySQL-Buches lese ich bezüglich Zugriffrechte. Defaultwerte: Wenn beim MySQL-Verbindungsaufbau keine anderen Parameter angegeben werden,wird unter Unix/Linux als Username der gerade aktuelle Login-Name verwendet, unter Windows dagegen die Zeichenkette ODBC; als Passwort wird eine leere Zeichenkette verwendet; als Hostname localhost.

Als Fehlermeldung bekomme ich lediglich die echo-Ausgabe der ersten-Anweisung: Leider kann keine Verbindung zur Datenbank hergestellt.......

Anbei der betreffende Teil des rusult.php Files und die Include Datei mit den Zugangsdaten.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!-- php/vote/results.php --> <html> <head>  <title>Umfrageergebnis</title> </head> <body> <? include("_private/mysql_connectinfo.inc.php"); //verbindung zur Datenbank herstellen $link = mysql_pconnect($mysqlhost, $mysqluser, $mysqlpasswd); if ("link == FALSE") {  echo "<p><b>Leider kann keine Verbindung zur Datenbank hergestellt werden. Daher können die Ergebnisse zurzeit nicht angezeigt werden. Bitte versuchen Sie es später noch einmal.</b></P> </body></html>\n";  exit();  }  mysql_select_db($mysqldbname);

<? //website-root-dir/_private/mysql_connectinfo.inc.php //Verbindungsdaten $mysqluser = "root"; $mysqlpasswd = ""; $mysqlhost = "localhost"; $mysqldbname = "test_vote"; ?>

Besten Dank für eure Mühe

Gruß Josi

  1. Hi,

    if ("link == FALSE") {

    Was machen denn die Anführungszeichen da? Muss das nicht heißen:

    if($link == false) {

    ?

    Viele Grüße
    Ben

    --
    Fantasie ist wichtiger als Wissen. - Albert Einstein
    1. if ("link == FALSE") {

      Was machen denn die Anführungszeichen da? Muss das nicht heißen:

      if($link == false) {.....

      O Gott danke, was man nicht alles übersieht.
      Hab dafür gar keine Error-Meldung bekommen.
      Werds morgen sofort ausbessern(Bin grad auf Windows).

      Nochmals besten Dank

      Josi

      1. Hi Josi,

        kein Problem! :-) Ich hoffe nur, dass daran auch der Fehler lag und jetzt alles klappt.

        Viele Grüße
        Ben

        --
        Fantasie ist wichtiger als Wissen. - Albert Einstein
      2. Hallo

        if ("link == FALSE") {
        O Gott danke, was man nicht alles übersieht.
        Hab dafür gar keine Error-Meldung bekommen.

        Nein, natürlich nicht. Warum auch? Es ist gültiges PHP.

        <zitat src="Programming PHP" author="Rasmus Lerdorf and Kevin Tatroe" translation="free">
        In PHP gelten folgende Werte als falsch:

        • Das Schlüsselwort  false
        • Die Integerzahl    0
        • Die Gleitpunktzahl 0.0
        • Der leere String   ""
        • Der String         "0"
        • Ein Array mit 0 (null) Elementen
        • Ein Objekt ohne Wert oder ohne Funktionen
        • Der NULL-Wert

        Jeder Wert, der nicht falsch ist, ist wahr
        </zitat>

        => "link == FALSE" ist wahr, somit wird stets ausgeführt, was im if-Zweig steht.

        Gruss,

        Vinzenz

    2. Hallo Ben, Hallo Bramburi,

      Was machen denn die Anführungszeichen da? Muss das nicht heißen:

      das stimmt, Anführungszeichen sind da falsch.

      if($link == false) {

      vielleicht auch if(!$link){...?

      das Passwort kann man übrigends auch weglassen, wenn es leer ist: http://www.php.net/manual/de/function.mysql-pconnect.php
      aber bist du sicher, dass du eine persistente Verbindung (du hast die modul-Version?) brauchst?

      Grüße aus Nürnberg
      Tobias