Aleks: parse error und ich weiß nicht warum

hallo zur späten stunde,

habe hier einen parse error und finde die ursache nicht. fehlermeldung lautet:
"Parse error: parse error, unexpected '>' in /home/www/web53/html/datenkbank.php on line 31"

while ($row = mysql_fetch_object($ergebnis)) {

31 echo '<b>Name:</b>'.$row->name.'<br />';

echo '<b>Ort:</b>'.$row->ort.'<br />;
echo '<img src="bilder/email.gif" alt="" /><a   href="mailto:'.$row->email.'">'.$row->email.'</a>';
echo '<img src="bilder/home.gif" alt="" /><a href="'.$row->url.'" target="_blank">'.$row->url.'</a><br />';
echo 'Datum:'.$row->datum.'<br />';
echo 'Eintrag:<br />'.$row->kommentar.'<hr />';

}

wäre super, wenn mir jemand auf die sprünge helfen könnte!

danke im voraus!

  1. Hallo Aleks,

    Vielleicht meinst du ja $row=>name, statt $row->name.
    Und das im ganzen von dir genannten Codeausschnitt, also auch $row=>kommentar etc.

    Gehören die ">>" zu Beginn jeder Zeile auch mit zum Quelltext? ;-)

    Bis dann!

    Marc Reichelt || http://www.marcreichelt.de/

    --
    Linux is like a wigwam - no windows, no gates and an Apache inside!
    SELFCode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
    http://emmanuel.dammerer.at/selfcode.html
    1. hi;

      Gehören die ">>" zu Beginn jeder Zeile auch mit zum Quelltext? ;-)

      nein, die gehören nicht dazu ;)
      sollte nur den quelltext verdeutlichen.
      habe es jetzt mal ausprobiert, aber ich erhalte weiterhin dieselbe fehlermeldung :(
      muss ich vielleicht escape-sequenzen einsetzen, kenne mich da leider noch nicht so aus.

      danke trotzdem!

      1. Hallo Aleks,

        hab noch was gefunden:

        echo '<b>Ort:</b>'.$row->ort.'<br />;
                                           ^^ einfaches Anführungszeichen

        Bis dann!

        Marc Reichelt || http://www.marcreichelt.de/

        --
        Linux is like a wigwam - no windows, no gates and an Apache inside!
        SELFCode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
        http://emmanuel.dammerer.at/selfcode.html
        1. hi,

          echo '<b>Ort:</b>'.$row->ort.'<br />;
                                             ^^ einfaches Anführungszeichen

          stimmt, das hab ich übersehen. nach so vielen stunden am pc...
          allerdings wird immernoch derselbe fehler gemeldet !?!?!

          hab eben mal ausprobiert, die anführungszeichen zu tauschen (einfache gegen doppelte). hat aber auch nichts genützt.

          1. Hi,

            echo '<b>Ort:</b>'.$row->ort.'<br />;

            Hm. In der Operator-Precedence-Tabelle taucht -> nicht auf - kann es sein, daß es da ein Problem gibt?

            Was passiert, wenn Du den Teil $row->ort in Klammern setzt, also

            echo '<b>Ort:</b>'.($row->ort).'<br />';

            (analog in den anderen Zeilen)

            cu,
            Andreas

            --
            Warum nennt sich Andreas hier MudGuard?
            Schreinerei Waechter
            Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
            1. hi,

              Was passiert, wenn Du den Teil $row->ort in Klammern setzt, also
              echo '<b>Ort:</b>'.($row->ort).'<br />';

              habe deine anweisungen befolgt, aber leider hat sich nichts geändert. anscheinend scheint das problem nicht in zeile 31 zu liegen, habe diese und ihre nachbarzeilen nämlich gerade mal einkommentiert, doch die fehlermeldung bleibt trotzdem gleich.

              1. Hi,

                habe deine anweisungen befolgt, aber leider hat sich nichts geändert. anscheinend scheint das problem nicht in zeile 31 zu liegen, habe diese und ihre nachbarzeilen nämlich gerade mal einkommentiert, doch die fehlermeldung bleibt trotzdem gleich.

                Hm. Hast Du weiter oben irgendwo einen String mit einfachem Anführungszeichen, der nicht an der vorgesehenen Stelle geschlossen wird?

                cu,
                Andreas

                --
                Warum nennt sich Andreas hier MudGuard?
                Schreinerei Waechter
                Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
                1. hi,

                  Hm. Hast Du weiter oben irgendwo einen String mit einfachem Anführungszeichen, der nicht an der vorgesehenen Stelle geschlossen wird?

                  ja den hatte ich, in zeile 25 :-\ jetzt hab ich einen fehler in zeile 27 : " unexpected T_VARIABLE, expecting ',' or ';' "
                  war mitten im quellcode, habe die stelle min. 10 mal durchgechecked, aber immer übersehen. man sollte sich wohl nicht so sehr auf die zeilenangaben der fehlermeldungen verlassen.

                  1. Hi,

                    Hm. Hast Du weiter oben irgendwo einen String mit einfachem Anführungszeichen, der nicht an der vorgesehenen Stelle geschlossen wird?
                    ja den hatte ich, in zeile 25 :-\ war mitten im quellcode, habe die stelle min. 10 mal durchgechecked, aber immer übersehen. man sollte sich wohl nicht so sehr auf die zeilenangaben der fehlermeldungen verlassen.

                    Naja, in Zeile 31 wurde dieser String dann geschlossen, danach stand <b (also ein Vergleich mit der Konstante b) und danach dann das angemeckerte >

                    jetzt hab ich einen fehler in zeile 27 : " unexpected T_VARIABLE, expecting ',' or ';' "

                    Dann fehlt vor Zeile 27 wohl ein Komma oder ein Semikolon.

                    cu,
                    Andreas

                    --
                    Warum nennt sich Andreas hier MudGuard?
                    Schreinerei Waechter
                    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  2. Probiere mal statt

    $row->name

    $row["name"] oder $row['name'] oder $row[name]

    eins davon wird dir sicherlich helfen.

    1. Hallo Thorsten,

      Probiere mal statt

      $row->name

      $row["name"] oder $row['name'] oder $row[name]

      Bitte vergiss $row[name] ganz schnell wieder. PHP interpretiert das zwar, aber streng genommen ist das falsch und kann schnell (bei bestimmten Strings in den Klammern) zu Fehlern führen!

      Ansonsten hast du Recht, denn ich denke auch nicht dass er auf ein Objekt mit dem Namen $row zugreifen möchte, sondern eher auf die Elemente eines assoziativen Arrays:
      http://www.php.net/manual/de/language.types.array.php

      Grüße

      Marc Reichelt || http://www.marcreichelt.de/

      --
      Linux is like a wigwam - no windows, no gates and an Apache inside!
      SELFCode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
      http://emmanuel.dammerer.at/selfcode.html
      1. Hi,

        Ansonsten hast du Recht, denn ich denke auch nicht dass er auf ein Objekt mit dem Namen $row zugreifen möchte,

        while ($row = mysql_fetch_object($ergebnis)) {

        fetch_object hört sich aber schon nach Objekt an ...

        Beispiel 1 aus der Doku zu der Methode sieht auch (aufs wesentliche reduziert) so aus:

        $row = mysql_fetch_object($result);
        echo $row->field;

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        Schreinerei Waechter
        Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
        1. Hallo MudGuard,

          Beispiel 1 aus der Doku zu der Methode sieht auch (aufs wesentliche reduziert) so aus:

          $row = mysql_fetch_object($result);
          echo $row->field;

          OK ich gebe mich geschlagen. Doch nicht so viel mit Objekten in PHP zu tun gehabt... ;-)

          Bis dann!

          Marc Reichelt || http://www.marcreichelt.de/

          --
          Linux is like a wigwam - no windows, no gates and an Apache inside!
          SELFCode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
          http://emmanuel.dammerer.at/selfcode.html
    2. hi Thorsten,

      danke erstmal für deine antwort!

      Probiere mal statt
      $row->name
      $row["name"] oder $row['name'] oder $row[name]

      habe die ersten beiden varianten ausprobiert, aber kommt auch weiterhin dieselbe fehlermeldung.

  3. so, danke an alle für eure hilfe zu später stunde!

    jetzt funktioniert alles wie ich es mir vorgestellt habe.

    wünsche euch allen noch eine gute nacht!