Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem bei wiedergabe von Datansatz

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem bei wiedergabe von Datansatz

    hy Leute,
    ich verzweifel gerade total.
    Ich henge seid gefühlten 5 stunden an folgendem Script:

    Code:
    <?php
      error_reporting(E_ALL);
      //MySQL-Connection
      $db = mysql_connect(localhost','benutzername','passwort'); //Versteht sich von selber
      $connect = mysql_select_db('tabelle'); //Versteht sich von selber
      $sql = "SELECT `avatar` from users where username = '". mysql_real_escape_string($_SESSION['username']) ."'" or die (mysql_error()); //Das hier macht eine Abfrage an eine Datenbank und wählt alle Einträge aus der Spalte "username" aus, wo "id" = "$id" ist.
      echo '<img src="'.htmlentities($sql['avatar'], ENT_QUOTES, 'UTF-8').'" alt="Avatar" style="max-width:200px;max-height:300px;" />';; //Diese Zeile gibt den Wert, der in der Spalte username steht aus.
      $close = mysql_close($db);
    ?>
    So mein Problem ist das einfach kein Bild angezeigt wird.
    Mir wird kein Fehler angezeigt und ich bin mit 100% sicher das auf dem eingelogtem "testaccount" ein Bildlink in der Spalte hinterlegt ist.

    Bitte helft mir

  • #2
    PHP-Code:
    $connect mysql_select_db('tabelle'); //Versteht sich von selber 
    Da kommt die Datenbank rein.

    Ansonsten, du musst deine Query auch abschicken, aktuell speicherst du sie nur als String in die Variable $sql.


    +

    Die mysql_* Erweiterung ist veraltet und wird wohl in der nächsten PHP-Version entfernt. Zudem ist deine Query anfällig für SQL-Injections.
    Durch einen Wechsel auf mysqli_* oder PDO greifst du aufdie modernere API zu und hast die Möglichkeiten Prepared Statements zu benutzen die gegen Injections wirken.
    Ich persönlich bevorzuge PDO, schönes Tutorial: http://www.peterkropff.de/site/php/pdo.htm
    [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
    [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

    Kommentar


    • #3
      Sorry ich habe mich anscheind etwas blöd ausgedrückt.

      Also soweit funktioniert es mir wird nur das "Bild" nicht angezeigt.
      Das einloggen und die datenbank auswahl funktionieren einwandfrei. nur das bild wird nicht angezeigt.
      Ok danke das mit dem mysqli werde ich mir mal anschauen. Danke

      Kommentar


      • #4
        Gut, dann heißt deine Datenbank eben missverständlicherweise "tabelle".

        Aber folgendes gilt immer noch:

        Zitat von VPh Beitrag anzeigen
        Ansonsten, du musst deine Query auch abschicken, aktuell speicherst du sie nur als String in die Variable $sql.
        mysql_query() und einem anschließen mysql_fetch_array() bzw. die entsprechenden PDO oder mysqli Alternativen müssen da hin.

        Kommentar


        • #5
          Oh sorry das habe ich wohl genaz gekonnt überlesen.
          Ich werde es mal ausprobieren und melde mich gleich wieder

          Kommentar


          • #6
            Jetzt finktioniert es. Ich danke euch
            Fals ich damit jemandem helfen kann hier nochmal der gesamte Code mit "Fehlermeldung" fals kein Avatar hinterlegt wurde.

            PHP-Code:
            <?php
              error_reporting
            (E_ALL);
              
            //MySQL-Connection
              
            $db mysql_connect('localhost','benutzername','passwort'); //Versteht sich von selber
              
            $connect mysql_select_db('datenbank'); //Versteht sich von selber
              
            $sql mysql_query ("SELECT avatar from users where username = '"mysql_real_escape_string($_SESSION['username']) ."'");
              while (
            $row mysql_fetch_array($sql)) {
              if(
            $row['avatar']!='')
            {
                    echo 
            '<img src="'.htmlentities($row['avatar'], ENT_QUOTES'UTF-8').'" alt="Avatar" style="max-width:200px;max-height:300px;" />';
            }
            else
            {
                    echo 
            'Dieser Benutzer hat keinen Avatar.';
            } }
              
            $close mysql_close($db);
            ?>

            Ich hatte es schon im gefühl das es nur ein "kleiner" Fehler war. Vielen Dank

            Kommentar

            Lädt...
            X