Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Problem MYSQL Bilder aus DB anzeigen

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Problem MYSQL Bilder aus DB anzeigen

    Ich suche jetzt schon 3 Stunden und finde keine Lösung.

    Habe mir mit Openoffice Base eine MYSQL Datenbank auf meinem Server mit bildern 64x64 (Blob) erstellt. Möchte nun von dieser mit php ein bild anzeigen. Habe Folgenden Code, leider bekomme ich als ausgabe aber die webadresse meines Codes, was mache ich falsch. Bin am verzweifeln.

    Tabelle Bilder enthält:
    image_id - tiny integer
    image - Bild [Blob]

    PHP-Code:
    $link mysql_connect("localhost""intern""Passwort") or die ("Kann nicht verbinden: " mysql_error()); //Verbinde zur Datenbank
            
    mysql_select_db("765483_intern_12") or die (mysql_error()); // Wähle Datenbank
            
    $sql "SELECT image FROM Bilder WHERE image_id=1"// Hole Bild von der Datenbank
            
    $result mysql_query("$sql") or die ("Invalid query: " mysql_error()); // Ergebnis der Abfrage
            
    header("Content-type: image/jpeg"); // Setzen des Headers für das Bild
            
    echo mysql_result($result,1); //Ausgeben des Bildes
            
    mysql_close($link); // Datenbank schliessen 


  • #2
    Zitat von alexalbion Beitrag anzeigen
    leider bekomme ich als ausgabe aber die webadresse meines Codes
    Keine Ahnung, was das bedeuten soll. Bitte drücke dich präziser aus.

    Kommentar


    • #3
      Zitat von ChrisB Beitrag anzeigen
      Keine Ahnung, was das bedeuten soll. Bitte drücke dich präziser aus.

      Ausgabe im Browser : http://************.de/cms/bild.php

      aber kein Bild, irgendwo muss der Fehler in meinem script liegen, aber ich seh vor lauter Zahlen momentan den Wald nicht

      Kommentar


      • #4
        Du rufst dein Script über Eingabe der Adresse in der Adresszeile auf?
        Und wo noch steht dann die Bildadresse, wo erfolgt diese „Ausgabe“?


        Das error_reporting hast du ja hoffentlich schon auf E_ALL und display_errors auf 1 stehen - dann kommentiere jetzt auch noch den header-Aufruf im Script aus, und dann schau dir an, was für Meldungen kommen.

        Kommentar


        • #5


          das sieht man es genau

          Kommentar


          • #6
            Gut, dann reagiert dein Testbrowser wohl so, wenn er ein Bild nicht anzeigen kann - meiner zeigt die bekannte „broken image“-Grafik an.

            Hast du das error_reporting scharf gestellt?

            Aufruf der Adresse zeigt eine Antwort mit Content-Length 1 Byte an - also funktioniert wohl entweder das Auslesen des BLOBs, oder die Ausgabe nicht korrekt.

            Kommentar


            • #7
              Zitat von ChrisB Beitrag anzeigen
              Gut, dann reagiert dein Testbrowser wohl so, wenn er ein Bild nicht anzeigen kann - meiner zeigt die bekannte „broken image“-Grafik an.

              Hast du das error_reporting scharf gestellt?

              Aufruf der Adresse zeigt eine Antwort mit Content-Length 1 Byte an - also funktioniert wohl entweder das Auslesen des BLOBs, oder die Ausgabe nicht korrekt.
              Ich dreh durch, nicht mal ne Fehlermeldung bekomme ich, obwohl error reporting an ist

              Kommentar


              • #8
                Nicht durchdrehen, sondern logisch an die Fehlersuche herangehen.

                Hast du erst mal verifiziert, dass das Bild korrekt in der DB drin steht?
                Liefert die Abfrage, per phpMyAdmin abgesetzt, etwas, das nach binären Bilddaten aussieht?

                Was passiert, wenn du statt mysql_result mal eine der mysql_fetch-Funktionen benutzt, und dir den ganzen Datensatz mit var_dump zur Kontrolle ausgeben lässt?

                Kommentar


                • #9
                  Also PHPMYADMIN liefert

                  bei der Abfrage
                  SELECT image FROM Bilder WHERE image_id=1

                  [BLOB - 35,9 KiB]

                  Kommentar


                  • #10
                    Dann Teil zwei.

                    Kommentar


                    • #11
                      Zitat von ChrisB Beitrag anzeigen
                      Dann Teil zwei.


                      Das liefert meine Binären Daten wie sie sein sollen, warum werden sie dann mit dem script nicht dargestellt ?

                      Kommentar


                      • #12
                        Zitat von alexalbion Beitrag anzeigen
                        Das liefert meine Binären Daten wie sie sein sollen
                        Na dann pack' da den Header wieder davor, dann sollte es doch passen ...?

                        warum werden sie dann mit dem script nicht dargestellt ?
                        Was hast du denn jetzt am Script verändert - nur mysql_result ausgetauscht, oder noch was anderes?


                        Edit:
                        PHP-Code:
                        echo mysql_result($result,1); //Ausgeben des Bildes 
                        D'oh! Du hast mysql_result einfach nur falsch angewendet ...

                        Kommentar


                        • #13
                          Jetzt geht es, weiss aber immer noch nicht warum

                          PHP-Code:
                          <?php
                                  $link 
                          mysql_connect("localhost""intern""********"); //Verbinde zur Datenbank
                                  
                          mysql_select_db("765483_intern_12"); // Wähle Datenbank
                                  
                          $sql "SELECT image FROM Bilder WHERE image_id=1"// Hole Bild von der Datenbank
                                  
                          $result mysql_query("$sql"); // Ergebnis der Abfrage
                                  
                          if (!$result) {
                                  echo 
                          'Abfrage konnte nicht ausgeführt werden: ' mysql_error();
                                  exit;
                          }
                              
                          $row mysql_fetch_row($result);
                              
                          header("Content-type: image/jpg"); // Setzen des Headers für das Bild
                              
                          echo $row[0];
                          ?>

                          Kommentar


                          • #14
                            Jetzt geht es, weiss aber immer noch nicht warum
                            Deswegen ging es vorher nicht:
                            PHP-Code:
                            echo mysql_result($result,1); //Ausgeben des Bildes 
                            Zitat von Manual
                            Parameters:
                            row
                            _ The row number from the result that's being retrieved. Row numbers start at 0.

                            Kommentar


                            • #15
                              Danke für die schnelle Hilfe

                              Mir ist ein Stein vom Herzen gefallen, dachte schon ich wäre komplett verblödet.

                              Kommentar

                              Lädt...
                              X