MajorTom78
15-03-2004, 11:09
Hallo, ich möchte mir gerne Bilder ausgeben lasse, die in einer Datenbank in einem Feldtyp BLOB gespeichert sind. Wenn ich aber eine Abfrage mache und mir den Inhalt ausgeben lasse, bekomme ich als Ausgabe lediglich "Object". Kann mir jemand sagen, wie ich mein Problem löse?
Original geschrieben von MajorTom78
Kann mir jemand sagen, wie ich mein Problem löse?
dein problem - die unvollständige problembeschreibung - löst du am besten durch verfassen einer erweiterten version deiner frage.
(verwendeter code, etc.)
MajorTom78
15-03-2004, 11:25
Sorry, dachte das wäre nicht nötig, da das Problem meines Erachtens nach ja nicht in meinem Code sondern in meine Unwissen liegt.
Wenn ich da falsch liege ist hier trotzdem der Code
$mydb=mysql_connect(localhost,root);
mysql_select_db("db",$mydb);
$sql='SELECT data FROM tabelle';
$sql=mysql_query($sql);
mysql_fetch_array($mysql);
echo $eintrag[0];
MajorTom78
15-03-2004, 11:35
Ups, es muss natürlich heissen
mysql_fetch_array($sql);
$sql='SELECT data FROM tabelle';
data ist also die spalte mit den binären bilddaten?
mysql_fetch_array($sql);
diese funktion hat einen rückgabewert - warum benutzt du diesen nicht weiter, sondern lässt ihn einfach verfallen?
(da mysql_fetch_array allerdings ein array zurückgibt, welches du nicht weiter verwertest, kommt hierdurch vermutlich die ausgabe "object" zu stande.)
echo $eintrag[0];
wo her soll $eintrag deiner meinung nach kommen?
du solltest dir die grundlagen des abfragens von mysql-DBs mit php nochmal anschauen, z.b. http://schattenbaum.net/php/mstart.php
MajorTom78
15-03-2004, 12:17
richtig, es würder gar nichts kommen, weil $eintrag keinen inhalt hat.
in meinem code heisst es natürlich
$eintrag=mysql_fetch_array($mysql);
tut mir leid habs falsch abgeschrieben. muss an zwei verschiedenen rechnern arbeiten.
da du sooo viele Tippfehler hast ;) vielleicht liegt's hieran:
$eintrag = mysql_fetch_array($mysql);
$mysql ist nirgends deklariert.
MajorTom78
15-03-2004, 12:34
leider nein. den schreibfehlerfehler hatte ich erstes verbessert.
hier nochmal korrekt:
$mydb=mysql_connect(localhost,root);
mysql_select_db("db",$mydb);
$sql='SELECT data FROM tabelle';
$sql=mysql_query($sql);
$eintrag=mysql_fetch_array($sql);
echo $eintrag[0];
so sollte es jetzt richtig sein
Original geschrieben von MajorTom78
so sollte es jetzt richtig sein
nochmal die frage: data ist also deine spalte mit den binären bilddaten?
dann würde echo $eintrag[0] jetzt also binäre bilddaten ins dokument schreiben - was ohne einen entsprechenden content-type header natürlich witzlos ist.
und dass du HTML und bilddaten nicht in einer ressource mischen kannst, hast du hoffentlich auch berücksichtigt.
MajorTom78
15-03-2004, 13:06
data ist meine spalte mit den binären bilddaten.
Wiedergegeben wird mir das Wort Object. Den Rest hab ich irgendwie nicht verstanden :confused: