Ik heb al langere tijd een script gehad waarbij ik mijn afbeeldingen (die in een database staan) er uit haal en weergeef op mijn site. Maar nu is sinds een week geleden het script er in eens mee op gehouden...
Ik snap niet waarom. ik heb gezocht op internet naar mogelijke andere scripten maar kan zo niets vinden :s
Hopelijk kan iemand hier mij verder helpen.
$result = mysql_query("SELECT id,type,length,content FROM photos WHERE id = '$id'") or die(mysql_error());
while($row = mysql_fetch_array( $result )) {
echo $row['content'];
}
mysql_close($db);
*************************************
Ik heb gemerkt dat hij niet eens meer in de while lus terecht komt..
Mijn afbeeldingen staan als blob opgeslagen in het veld content. en ik roep de foto door dezesite.php?id=xxx
Ik zou eerst eens beginnen met het eruithalen van je afbeeldingen en deze gewoon in een map zetten op je server en in je database dan het adres daarnaartoe zetten.
Een database is niet bedoeld voor het opslaan van afbeeldingen, hij is bedoeld voor tekst.
Je database wordt er harstikke traag door en vindt afbeeldingen ook zeker niet leuk.
Ja dat weet ik, maar ik heb maar een beperkte server space en het database heeft dit niet, dus zo kan ik er eindeloos fotos in opslaan, iets wat ik wel een leuk truckje vond om zo de collectie online te bewaren
Ik heb gemerkt dat hij niet eens meer in de while lus terecht komt..
Dan gaat het fout bij je query. Geeft hij geen enkele error?
<?php
$sql = "
SELECT id, type, length, content
FROM photos
WHERE id = " . $id;
if (!$res = mysql_query ($sql)) {
echo '<pre>';
trigger_error (mysql_errno () . ': ' . mysql_error ());
echo htmlentities ($sql);
echo '</pre>';
}
else {
while ($row = mysql_fetch_assoc ($res)) {
// echoën
}
}
?>
Nee voorheen gaf hij geen elke error alleen een wit scherm...
Met die code van jou is dit de uitkomst:
Notice: 1064: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3 in /home/.sites/40/site68/web/image2.php on line 30
SELECT id, type, length, content
FROM photos
WHERE id =
Daaruit blijkt dat $_GET['id'] niet gevuld is. Je zou hem eerst moeten checken met isset. Laat eens het (stukje!) code zien waarmee je je links in elkaar sleutelt?
Ik geef hem gewoon met de link op in mijn adres balk
site.php?id=8729
maar ik dacht even dat je in dit stukje:
$sql = "
SELECT id, type, length, content
FROM photos
WHERE id = " . $id;
de $id buiten de " had gezet en dat hij dan daardoor de id niet mee kreeg..
nu heb ik dit veranderd naar:
WHERE id = '$id'"
maar dan geeft hij ook niets weer...
@leroy: gewoon boven aan gezet?
krijg ik meteen error:
Fatal error: Call to undefined function error_report() in /home/.sites/40/site68/web/image2.php on line 4
@leroy: gewoon boven aan gezet?
krijg ik meteen error:
Fatal error: Call to undefined function error_report() in /home/.sites/40/site68/web/image2.php on line 4