Florian M.: Sollte eine einfache Ausgabe stattfinden ... aber

Guten morgen,

ich stehe total auf dem Schlauch.
Ich möchte alle Datensätze aus der Tabelle [auth] anzeigen lassen.
Name der Datenbank -> [intranet]
Was mache ich falsch?
PHP Version: 4.1.2
Datei anzeige.php:
(Rechte: -rwxrwxr-x sollte aufjedenfall zum testen reichen)
      1 #!/usr/bin/php4
      2 <?php
      3 $server = "localhost";
      4 $user   = "benutzer";
      5 $pass   = "passwort";
      6
      7 $db = mysql_connect($server, $user, $pass)
      8   or die ("Es konnte keine Verbindung zum DB-Server hergestellt werden!");
      9
     10 $abfrage = mysql_db_query("intranet", "select * from auth");
     11 $anzahl  = mysql_num_rows($abfrage);
     12 echo = "$anzahl Datensaetze gefunden";
     13
     14 for ($i=0; $i<$anzahl; $i++) {
     15    $benutzer = mysql_result($anzahl, $i, "benutzer");
     16    $passwort = mysql_result($anzahl, $i, "passwort");
     17    echo "$benutzer, $passwort<br>";
     18 }
     19
     20 mysql_close($db);
     21 ?>

Hier die dazugehörige MySQL-Tabelle [auth]:
+----------+----------+
| benutzer   passwort |
+----------+----------+
| name1    | pass1    |
| name2    | pass2    |
| name3    | pass3    |
+----------+----------+

Als Fehlermeldung erscheint:
Parse error: parse error, expecting '," or ';" in
/usr/lib/cgi-bin/problem/anzeige.php on line 11

Danke schon einmal im Voraus für Eure Hilfe !!

bis denn
Florian

  1. Hi,

    7 $db = mysql_connect($server, $user, $pass)

    da fehlt das ;
    das stand allerdings auch in der Fehlermeldung

    ciao
    romy

    --
    DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
    ->Alles ist gut wenn es aus Schokolade ist
    1. HallO!

      7 $db = mysql_connect($server, $user, $pass)
      da fehlt das ;
      das stand allerdings auch in der Fehlermeldung

      nö, das kommt nach "or die...;"

      Ich vermute eher das Du die Zeilen verschoben hast(vielleicht zählt PHP die erste auch nicht mit), denn für mich sieht "echo =" sehr seltsam aus! Lass mal das "=" weg!

      Grüße
      Andreas

      1. Hi Andreas,

        zählt PHP die erste auch nicht mit), denn für mich sieht "echo =" sehr seltsam aus! Lass mal das "=" weg!

        Wenn ich das "=" weg lasse dann bekomme ich folgenden Fehler:
        Parse error: parse error in /usr/lib..... anzeige.php on line 21

        Da schliesse ich das PHP-Skript. Was soll das?

        bis denn
        Florian

        1. Hallo!

          Wenn ich das "=" weg lasse dann bekomme ich folgenden Fehler:
          Parse error: parse error in /usr/lib..... anzeige.php on line 21

          Da schliesse ich das PHP-Skript. Was soll das?

          Vimes hat Recht, vermutlich gibt es die von Dir verwendete Funktion in Deiner PHP-Version nicht mehr(welche verwendest Du?)

          Deine komplette Syntax ist sehr veraltet, ich würde Dir empfehlen Datenbank-Abfragen nach dem selben Schema wie die Beispiele unter http://www.php3.de/manual/de/function.mysql-fetch-array.php aufzubauen. Einen Fehler finde ich sonst nicht. Wobei die Fehlermeldung dann eigentlich nicht korrekt ist, denn die müßte lauten "keine Funktion mit dem namen xy gefunden...", naja.

          Grüße
          Andreas

  2. moin,

    auf http://www.php.net/manual/de/function.mysql-db-query.php steht, dass diese Funktion seit PHP 4.0.6 veraltet ist. Versuch das ganze doch mit mysql_selcect_db und mysql_query.

    Vielleicht hilft auch, die DB-Verbindung mit anzugeben, also
    mysql_db_query("intranet", "select * from auth;", $db) or die [...]

    @romy Das "fehlende" Semikolon vor or die muss auch weggelassen werden, siehe http://www.php.net/manual/de/function.die.php.

  3. Hi Leute,

    danke für Eure Hilfe. Ich habe das Problem beseitigt.
    Manchmal ist weniger besser.

    1 #!/usr/bin/php4
          2 <?php
          3 $verbindung = mysql_connect("localhost", "benutzer", "passwort")
          4               or die ("Es konnte keine Verbindung hergestellt werden!");
          5 $datenbank  = mysql_select_db("intranet", $verbindung) or die (mysql_error());
          6 $ergebnis   = mysql_query("SELECT * FROM auth")
          7               or die ("Invalid query");
          8 while ($row = mysql_fetch_array($ergebnis, MYSQL_NUM)) {
          9   printf("Benutzername: %s Passwort: %s<br>", $row[0], $row[1]);
         10
         11 }
         12 mysql_free_result($ergebnis);
         13 mysql_close($verbindung);
         14 ?>

    bis die Tage

    Florian