Blob afbeelding opvragen
Ik ben bezig met het ophalen van een afbeelding uit de database maar ik krijg niks te zien op mijn pagina. Wat doe ik fout?
mijn code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
header("Content-type: image/jpeg"); // act as a jpg file to browser
include("db.php");
$query = "SELECT foto FROM test WHERE `id` = 2";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
echo $row['foto'];
?>
header("Content-type: image/jpeg"); // act as a jpg file to browser
include("db.php");
$query = "SELECT foto FROM test WHERE `id` = 2";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
echo $row['foto'];
?>
Tevens de vraag of je al output hebt in je db.php?
En ook de vraag of de compressie van je afbeelding in de database wel jpeg is?
en dan het laatste:
het is niet efficient om afbeeldingen op te slaan in je database. Afbeeldingen kun je beter gewoon op de server bewaren en de locatie bewaren in je database.
Hij heeft de binaire code van de afbeelding opgeslagen zoals je kunt afleiden uit zijn titel "BLOB afbeelding opvragen". Onnodige vraag stelling dus;)
michel schreef op 25.07.2007 16:59:
@Gamer13
Hij heeft de binaire code van de afbeelding opgeslagen zoals je kunt afleiden uit zijn titel "BLOB afbeelding opvragen". Onnodige vraag stelling dus;)
Hij heeft de binaire code van de afbeelding opgeslagen zoals je kunt afleiden uit zijn titel "BLOB afbeelding opvragen". Onnodige vraag stelling dus;)
Hmm, in dat geval: FOEI!
Quote:
Je doet niks aan foutafhandeling. Een query kan altijd mislukken, dit moet je dus altijd controleren.Wat doe ik fout?
Ps. Backtics ` mag je ritueel verbranden, die zooi hoort niet in SQL thuis.
Nou euhhhh ik krijg gewoon het plaatje niet te zien maar een kruisje. En ik heb de afbeelding gewoon opgeslagen in de database als blob en het is ook een jpg ja!
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
ini_set ('display_errors', 1);
error_reporting (E_ALL);
require 'db.php';
$sql = "
SELECT foto
FROM test
WHERE id = 2";
if ($res = mysql_query($sql)) {
if (mysql_num_rows ($res)) {
$row = mysql_fetch_assoc ($res);
header("Content-type: image/jpeg"); // act as a jpg file to browser
echo $row['foto'];
}
else {
echo '<p>Geen resultaten gevonden</p>';
}
}
else {
trigger_error ('<p>' . mysql_errno () . ': ' . mysql_error () . '</p>');
echo '<pre>';
echo htmlentities (str_replace ("\t", '', $sql));
echo '</pre>';
}
?>
ini_set ('display_errors', 1);
error_reporting (E_ALL);
require 'db.php';
$sql = "
SELECT foto
FROM test
WHERE id = 2";
if ($res = mysql_query($sql)) {
if (mysql_num_rows ($res)) {
$row = mysql_fetch_assoc ($res);
header("Content-type: image/jpeg"); // act as a jpg file to browser
echo $row['foto'];
}
else {
echo '<p>Geen resultaten gevonden</p>';
}
}
else {
trigger_error ('<p>' . mysql_errno () . ': ' . mysql_error () . '</p>');
echo '<pre>';
echo htmlentities (str_replace ("\t", '', $sql));
echo '</pre>';
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
ik krijg nu de melding "Warning: Cannot modify header information - headers already sent by. .. . . . . "
en daarna krijg ik een heeeeeele lange code te zien die ongeveer er zo uitziet:
ÿØÿàJFIF´´ÿÛC ÿÛC ÿÀwô!ÿÄ ÿÄI!1AQa"q2‘¡#BR±Á3bÑð$Crá ‚ñ%S’²&s¢ÒDcÂÿÄÿÄ9!1A"Qaq2#‘¡±Ñð3BÁ$4RárCbñÿÚ ?öihgþÕ¯‘[{Žwj‘[%Š[Ä¢²nO¥l–\T‰¨G¥d4=*;‡ØgÊéYòÀ¦ÜKaŸ(RòÇ¥-ÂÚ/(zVCb›$”Lìö¬ìö¥‘ö™ÙíH"›"À¶{RØid|ÙíKaÅ6El¥²–GÀ¶u¬yf–FÚ//Ú²¥¸[E³k)d[D[¥³ŽidX1´t¥²Ÿ"Á‚n”¶{Sä[LmùÒ(â–FÛƒ)lâŸ#m5ÛKe>E´ÆÚ[~Tù"â-¾ÕžÔÙi™ì)lµ>E´[¥`¡>”²-‚(”¶'Ò–FÚ/->•’Ðô¥¹°^PþZÇ–=)nÖaMõªšû†ÛƒE3ÏJÁgÚ§¸l É•°h‚™È|l¥QÈ《[*%ƒ!ºØ7Àâ™±ö›Ï\VÁ¿j†â{Lìö¬ìâ–GÚchô¥³²6 í¶g½6GÁ”‚9éM‘`ÈEd#Ú–GÀ¶ A?*l‹Ú=«!>‚–I`Xö¥·Ú°-¾Ô¶ûRÈ°goµcoµ,‹ÙíKoùidXÑéKh¥‘`ÆÑŒc?JÀHÝ´~.ã¿åK#p»ˆ§F>u‚})ÓÁM-œðiò, gÖ°SíK"À¶ûRÛO‘`ÆßaXÛíO‘„SíK`ô¥‘c&6R(㨥‘°…²±³ÞŸ"Ú-”¼
Ik heb deze code header("Content-type: image/jpeg"); al bovenaan gezet maar dan krijg ik weer een kruisje te zien net als gister...
Misschien kan je door de bron op te vragen bij het kruisje iets meer te weten komen wat hij nou precies doet.
Groetjes Mitchel
Dan lijkt mij het dat er een spatie / enter op die pagina of op 'db.php' staat.
db.php is gewoon het bestandje dat verbinding maakt met mijn database die doet voor de rest niks...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
header("Content-type: image/jpeg"); // act as a jpg file to browser
ini_set ('display_errors', 1);
error_reporting (E_ALL);
require 'db.php';
$sql = "
SELECT foto
FROM test
WHERE id = 2";
if ($res = mysql_query($sql)) {
if (mysql_num_rows ($res)) {
$row = mysql_fetch_assoc ($res);
echo $row['foto'];
}
else {
echo '<p>Geen resultaten gevonden</p>';
}
}
else {
trigger_error ('<p>' . mysql_errno () . ': ' . mysql_error () . '</p>');
echo '<pre>';
echo htmlentities (str_replace ("\t", '', $sql));
echo '</pre>';
}
?>
header("Content-type: image/jpeg"); // act as a jpg file to browser
ini_set ('display_errors', 1);
error_reporting (E_ALL);
require 'db.php';
$sql = "
SELECT foto
FROM test
WHERE id = 2";
if ($res = mysql_query($sql)) {
if (mysql_num_rows ($res)) {
$row = mysql_fetch_assoc ($res);
echo $row['foto'];
}
else {
echo '<p>Geen resultaten gevonden</p>';
}
}
else {
trigger_error ('<p>' . mysql_errno () . ': ' . mysql_error () . '</p>');
echo '<pre>';
echo htmlentities (str_replace ("\t", '', $sql));
echo '</pre>';
}
?>
Als ik naar de eigenschappen van dat kruisje kijk zie ik als file image.php staan moet hier niet achter staan image.php?id=2 ???