Datenbank ausgeben in einem <a>/<img> tag

  • Hallo,


    Ich habe das Problem,dass wenn ich ein Eintrag aus einer Datenbank(MySql) in php ausgeben möchte(in einem <a> und <img> tag),wird mir eine weiße Seite angezeigt wird.(Also hat es einen Fehler)

    aber wenn ich es einzel ausgebe ohne einem Tag z.b $row->link dann geht es.

    Habe es schon eine Stunde lang probiert,aber habe es nicht hinbekommen,danke im Vorraus

    würde gerne wissen wie ich das behebe


    Hier ist der Code:

    PHP
    <?php
    $ergebnis = mysqli_query($verbindung, "SELECT * FROM filme");
    while($row = mysqli_fetch_object($ergebnis))
    {
    echo ' <a href="'.$row['link'].'"><img src="'.$row['bild'].'" class="titlepb"></a> ';
    }
    
    ?>

    Alle Variabeln usw gibt es,die db ist auch nicht falsch nur bei der ausgabe in einem <a> bzw img tag geht es nicht

  • Muß das nicht so aussehen ????

    PHP
    <?php
    $ergebnis = mysqli_query($verbindung, "SELECT * FROM filme");
    while($row = mysqli_fetch_object($ergebnis))
    {
    echo "<a href=\"".$row['link']."\"><img src=\"".$row['bild']."\" class='titlepb'></a>";
    }
    ?>
  • Muß das nicht so aussehen ????

    PHP
    <?php
    $ergebnis = mysqli_query($verbindung, "SELECT * FROM filme");
    while($row = mysqli_fetch_object($ergebnis))
    {
    echo "<a href=\"".$row['link']."\"><img src=\"".$row['bild']."\" class='titlepb'></a>";
    }
    ?>

    So gehts auch jz wir dmir die website angezigt aber nicht der php bereich :(

  • Komisch bei mir geht es so

    Code
    echo "<a href=\"".$row['link']."\"><img src=\"".$row['bild']."\" class=\"titlepb\"></a>";

    Da muß dann bei mir ja auch was falsch laufen. Mal abwarten bis einer von den Profis kommt weil das interesiert mich jetzt auch.

    Bei dein Bild fehlt ein alt="" nur so nebenbei

  • Jetzt verstehe ich gar nix mehr.Dein Code ist doch der gleiche wie aus post #1, auser das du an alt="" gedacht hast .

    Dann muß er ja im post #1 ja irgendwie schon ein anderen Fehler irgendwo im Code drinne gehabt haben oder was ist hier jetzt los ??

  • Hey,


    ich habe zu aller erst vermutet, dass das ' wieder das erste ' schließt aber da habe ich mich geirrt.


    Ich habe den Fehler gefunden:


    $row = mysqli_fetch_object($ergebnis)

    Du erhälst dort Objekte zurück und versuchst auf diese wie auf ein Array zuzugreifen. Dies funktioniert so aber nicht.

    Auf Objekte hast du mit dem Pfeil -> Zugriff.


    Die Ausgabe muss dann lauten:

    PHP
    echo ' <a href="' . $row->link . '"><img src="' . $row->bild  .'" alt="" class="titlepb"></a> ';

    Desweiteren musst du immer davon ausgehen, dass in der Datenbank unsicherer Inhalt steht. Dementsprechend musst du es zur Sicherheit noch mit htmlspecialchars ausgeben. Diese Funktion wandelt Sonderzeichen in ungefährlichen HTML-Code um.


    Komplett richtig würde es dann so aussehen:

    PHP
    echo ' <a href="' . htmlspecialchars($row->link) . '"><img src="' . htmlspecialchars($row->bild)  .'" alt="" class="titlepb"></a> ';


    Grüße,

    Stef

  • Danke,hat funktioniert

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!