Problemi estrazione / visualizzazione immagini dal database con PDO

noFanatic

Nuovo Utente
13 Mar 2015
2
0
0
Save a tutti avrei bisogno di un aiuto nel capire come posso prelevare immagini da MySql e visualizzarle in una pagina PHP utilizzando PDO . Nel mio sito ho utilizzato l'estensione PDO per operazioni di SELECT , INSERT , UPDATE ed è andato sempre tutto bene, ora invece ho incontrato problemi nel prelievo delle immagini , quindi di dati di tipo BLOB all'interno di MySql .Sto cercando di imparare le PDO man mano che vado avanti con il sito , solo che ora sono bloccato . Vorrei far visualizzare l'immagine del profilo di un utente loggato , posto il codice che ho scritto
PHP:
if(isset($_COOKIE['login'])){
			session_start();
		$user = $_SESSION['user'];
		$q = $db->prepare(" SELECT Foto FROM users WHERE Username = ' ".$user." ' ");
		$q -> bindParam(' ".$user." ',$user,PDO::PARAM_STR);
		$q->execute();
		$q->bindColumn(1,$cover,PDO::PARAM_LOB);
		$q->fetch(PDO::FETCH_BOUND);
		header("Content-Type: image/jpeg");
		
	  	echo $cover;
	}
.Ho effettuato dei test e riesco a fare la query , nel senso che prende proprio l'immagine dello user loggato (Quindi in questa parte non dovrebbero esserci problemi ) .Però il risultato che ottengo è una pagina bianca intera con in alto a sinistra un riquadro vuoto . Grazie in anticipo a chi prova ad aiutarmi :fonzie::fonzie:
 

migo80

Utente Attivo
25 Apr 2013
224
3
18
Ciao puoi risolvere nel modo che uso io, lo script lo salvi in una pagina ad esempio cover.php e gli passi la variabile user tramite get:

PHP:
if(isset($_GET['user']))
{
$user = $_GET['user'];
$cn = new PDO('mysql:host=host;dbname=dbname', 'uername', 'password');
$sql = $cn->prepare ("SELECT foto FROM users WHERE Username = :user");
$sql->bindParam(':user', $user, PDO::PARAM_INT);
$sql->execute();
$row = $sql->fetch(PDO::FETCH_ASSOC);
header('Content-Type: image/jpeg');
 echo $row['foto'];
}
mentre nella pagina dove vuoi che venga mostrata la foto la richiami nel classico modo e cioè:
HTML:
<img src="cover.php" />
 

noFanatic

Nuovo Utente
13 Mar 2015
2
0
0
Ciao , grazie per il post ! Ho provato ma non funziona . Ora non esce la pagina bianca , ma soltanto il riquadro dove dovrebbe esserci l'immagine , ma non c'è nulla .A questo punto mi viene da pensare che il problema stà nel prelievo del dato dal database e non nella visualizzazione . Però nella query è scritto tutto bene . Se hai qualche altra idea la provo volentieri . Grazie ancora!