L'articolo che ti ho indicato nella risposta precedente molto chiaro, anche se non permette di visualizzare in maniera diretta i file prelevati dal database, offre un'ottima spiegazione di ci che accade quando si carica un'intero file nel database, anzich il solo path.
Rispetto alla soluzione proposta nell'articolo di prima, la visualizzazione diretta leggermente pi complessa per certi aspetti. In pratica, uno script non pu creare un documento html (il suo ruolo principale) e CONTEMPORANEAMENTE generare i dati per visualizzare un'immagine: le due cose devono essere svolte da script diversi. Quindi, il primo script crea la normale pagina html, includendo il tag <img> per l'immagine. In questo tag per non viene specificato il nome dell'immagine come accade solitamente, ma il NOME del secondo script php e il codice ID dell'immagine (o del record a chi fa riferimento).
Nel file dove andrai a mostrare l'immagine (quando estrai i dati) avrai una cosa tipo
Codice PHP:
echo "<img src=\"mostra_immagine.php?id=$id\" alt=\"\" />";
A questo punto il browser vedr il tag [img]mostra_immagine.php?id=2[/img], a esempio, e chiamer la seconda procedura con mostra_immagine.php?id=2, il cui codice sar, anche se MOLTO semplificato, qualcosa di simile:
Codice PHP:
$sql = mysql_query("SELECT tipo, immagine FROM tabella WHERE id = $id") or die(mysql_error());
$row = mysql_fetch_object($sql);
header("Content-type: $row->tipo");
echo $row->immagine;
I campi da aggiungere per memorizzare le immagini dovranno essere almeno 2: uno per l'immagine vera e propria, ovviamente, e l'altro per memorizzare il tipo, gif, jpeg, png... questo per permettere di specificare al browser attraverso l'header, nel secondo script, di che tipo di file si tratta.
Queste sono solo linee guida, se cerchi in giro troverai moltissima documentazione relativo all'argomento. Come in ogni aspetto della programmazione, quando si sceglie una soluzione ci sono dei pro e dei contro da valutare. Molto dipende dall'obiettivo che vuoi raggiungere...