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?
Ik wil niet vervelend zijn, maar zo werkt het forum hier niet. Het kan zeker geen kwaad om zelf eens wat op te zoeken of te proberen.

Als ik Google op 'read image from mysql php' dan vind ik al een hoop interessants.
Dat heb ik de afgelopen paar uur gedaan, maar mijn website wil maar niet het plaatje afbeelden. Er komt enkel een klein vierkantje met een tekentje erin.. Alsof het ID verkeerd is?
Toon je relevante code eens? En hoe open je de afbeelding?

<?php

require_once("databaseconnectie.php");

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

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

header('Content-type: image/jpeg');

        while ($row = mysql_fetch_array($result)) {

            echo $row['klein plaatje'];
        }
?>



de tabelnaam is catalogus en de kolom naam heet 'klein plaatje' van het type BLOB.

Dit is hetgene wat ik bedoel met dat tekentje: http://imageshack.us/photo/my-images/5/tutb.png/

Kijk linksboven
Heeft je veld serieus een spatie?
Waarom een while() als je maar een enkel record ophaalt?

Kijk eerst eens naar goede foutafhandeling op je query.
Ik wist niet dat spatie niet mocht. Die heb ik weggehaald in mijn database en heet nu kleinplaatje. Dit heb ik ook aangepast in de code. De while loop heb ik ook weggehaald, maar nog steeds krijg ik hetzelfde tekentje.
Je fetched de tekst 'klein plaatje', niet de waarde uit het veld met de naam 'klein plaatje'.

Je huidige script zou versimpeld kunnen worden naar het volgende:
<?php

header('Content-type: image/jpeg');

echo 'klein plaatje';

?>

Gebruik liever underscores dan spaties. Verder is de manier om binnen MySQL (maar dan ook alleen MySQL) aan te geven dat je het over een kolom naam hebt om deze binnen backticks (`klein plaatje`) te zetten. Binnen PostgreSQL zijn dat dubbele aanhalingstekens ("klein plaatje"), en binnen microsoft access zijn het rechte haakjes geloof ik ([klein plaatje]).
Als je underscores gebruikt heb je die tekens niet nodig, en is je sql query meer portable.
Bedankt voor de info over de haakjes. Ik snap alleen niet waarom het daarnaar versimpeld kan worden.. Dan doe ik helemaal niks met de querie en vraag ik ook niks op.
Wordt je query wel uitgevoerd? Wat zegt de foutafhandeling?
Ik snap niet precies hoe ik die foutafhandeling moet implementeren. Zou je het even voor willen doen?

Reageren