Graag wil ik een een plaatje van het type BLOB in mijn database opvragen in mijn php code en weergeven op mijn site. de kolomnaam heet 'klein plaatje'. Zou iemand voor mij de code hiervoor willen schrijven?
Als ik dan localhost/webshop/test.php aanroep in browser krijg ik dit:

string 'ÿØÿà?JFIF??????ÿþ?;CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 75
ÿÛ?C? 

 $.' ",#(7),01444'9=82<.342ÿÛ?C 

2!!22222222222222222222222222222222222222222222222222ÿÀ???"?ÿÄ???????????
ÿÄ?µ???}?!1AQa"q2‘¡#B±ÁRÑð$3br‚
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ????????
ÿÄ?µ??w?'... (length=10642)

Toevoeging op 23/12/2013 23:34:25:

Als ik test.html aanroep dan krijg ik enkel dat icoontje (zonder bovenstaande shit).
Ah oké... dat is de code van het plaatje :)
Dat lijkt dus wel te werken :)

Staan test.html en test.php in dezelfde map?

Toevoeging op 23/12/2013 23:35:28:

wat is nu je code voor test.html en test.php
Ja, zelfde map namelijk webshop.
test.html:


<html>
<body>
<img src="http://localhost/webshop/test.php"> 
</body>
</html>


test.php


<?php

require_once("databaseconnectie.php");

$sql = "SELECT kleinplaatje FROM catalogus WHERE productnaam ='iPhone 5S'";

$result = mysql_query($sql);
//$row = mysql_fetch_array($result);

header('Content-type: image/jpg');
echo mysql_result($result, 0);

?>


Hmmm, oké... dat lijkt wel te kloppen. En hoe weet je of de code in de database klopt? Wie heeft die erin gezet?
- Aar - op 23/12/2013 22:17:36

[quote="Dos Moonen op 23/12/2013 22:07:15"]
Negeer voorlopig even wat - Aar - zegt over foutafhandeling, dat is nog niet van toepassing.

Persoonlijk vind ik dit grote onzin....
[/quote]
Jammer genoeg is het vaak zo dat als meerdere mensen vragen gaan stellen/advies geven niet elke vraag beantwoord wordt/elk advies gevolgd wordt. (Zoals jouw 'Wat is je header?' vraag)

Aangezien er een duidelijke fout qua denkwijze in het script zat zou foutafhandeling toevoegen geen nuttige info geven had foutafhandeling toevoegen een lagere prioriteit wat mij betreft. Nu die is opgelost en hij hopelijk snapt wat er fout was vind ik het een prima moment om fout afhandeling toe te voegen:

<?php

require_once("databaseconnectie.php");

$sql = "SELECT kleinplaatje FROM catalogus WHERE productnaam ='iPhone 5S'";

if ($result = mysql_query($sql))
{
if ($row = mysql_fetch_array($result))
{
header('Content-Type: image/jpeg');
echo mysql_result($result, 0);
exit; // stopt de uitvoer van het script
}
}

// dit wordt alleen uitgevoerd als 'exit' niet aangeroepen is, wat dus betekend dat er iets fout ging
header('HTTP/1.0 404 Not Found');
echo '404 - Page Not Found';

?>

Kun je kun je twee screenshots maken? Een van test.php met de bovenstaande code, en een van test.html? Dan weten wij ook gelijk over wat voor icoontje je het hebt.
Vergeet niet dat we je ook helpen om goede code te schrijven, en het ZOU kunnen dat je query stuk zou zijn. En anders misschien later?

Eigenlijk zou je toch best wel dankbaar mogen zijn dat ik je ervoor waarschuw i.p.v. het idee weg te duwen.
@Ozzie. Ik heb die erin gezet. Ik neem aan dat hij klopt.. want andere gegevens kan ik wel met gemak opvragen.

@Dos. Jouw code ingevoerd, en hij doet het plotseling!! Wat is nu het verschil?
Het zou de exit; kunnen zijn. Die stond er eerst niet in.

Goed dat het gelukt is!
Als ik de exit uitcomentariseer (en uiteraard de laatste header en echo) werkt hij nog steeds.
Super bedankt voor jullie hulp Ozzie, Aar en Dos Moonen!
Thnx :)

Reageren