Hallo!
Wie kann ich nun mit einer Abfrage diese Bilder als Bilder und nicht als Binär-Code (oder wie man dem auch sagt) anzeigen lassen? Folgende Abfrage zeigt nämlich nur das Binärzeugs an (also: GIF89a((à ¸}þþ Ìþ ªå*²äBÓü ¹ù Nm.......):
Ja, normalerweise wird das was PHP ausgibt als Content-Type html/text oder plain/text übertragen. Woher soll der Browser wissen dass er da jetzt ein Bild rendern soll?
Außerdem kannst Du nicht mehrere Bilder auf einmal ausgeben. Du kannst auf diese Weise nur ein einziges Bild ausgeben, kein HMTL drum herum nur das Bild.
Das heißt Du musst das Script in HTML wie folgt referenzieren:
<img src="/path/to/script.php?bild_id=123">
in dem Script darfst Du wie gesagt nur das eine Bild ausgeben, sonst nichts, kein HMTL, kein Leerzeichen, keine Leerzeile...
Und dann musst Du noch den Webserver veranlassen den korrekten Content-Type zu setzen, der unterscheidet sich auch je nach Bild-Typ, image/gif, image/jpeg, image/png...
Folgende Links könnten Dir helfen:
http://de3.php.net/manual/de/function.header.php#AEN31605
(Du brauchst nur den Content-Type, danach das Bild ausgeben und danach nichts mehr ausgeben.)
http://www.dclp-faq.de/q/q-mysql-blob.html
Da findest Du eine Diskussion ob es sinnvoll ist Bilder in einer DB zu speichern, und einen Link auf ein ausführliches Tutorial wie man jetzt Bilder in einer DB verwaltet und ausgibt.
Ich persönlich sehe keinen Sinn darin Bilder in einer DB zu speichern.
Grüße
Andreas