Display image from MySQL databse

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
ranura
Forum Newbie
Posts: 4
Joined: Sun May 13, 2012 6:41 am

Display image from MySQL databse

Post by ranura »

I'm trying to display an image form the mysql database.

I have this code. But it returns, "Warning: Cannot modify header information - headers already sent by (output started at E:\Softwares\WAMP\wamp\www\site\index.php:5)"

When i commented the "header('Content-type: ' . $row_getImage['mimetype']);" line, it will not display an error though displays something like hashcode instead of the image. Please look at the attachment.

What can I do for this?

Code: Select all

<?php
	$connect = mysql_connect("localhost", "root", "123") or die ("Error, check your server connection.");
	$database_testConn = mysql_select_db("test1") or die("cannot select DB");

	$query_getImage = "SELECT mimetype, image FROM images";

	$getImage = mysql_query($query_getImage, $connect) or die(mysql_error());

	while($row_getImage = mysql_fetch_array($getImage)){

		header('Content-type: ' . $row_getImage['mimetype']);
		echo $row_getImage['image'];
		mysql_free_result($getImage);
	}
	mysql_close();
?>
Attachments
hash
hash
User avatar
social_experiment
DevNet Master
Posts: 2793
Joined: Sun Feb 15, 2009 11:08 am
Location: .za

Re: Display image from MySQL databse

Post by social_experiment »

http://stackoverflow.com/questions/1636 ... -using-php
this url may be of some assistance;

The warning you are receiving is because headers have to be sent before any other output on the page. What you are seeing is the image in an incorrect format (not jpeg).
“Don’t worry if it doesn’t work right. If everything did, you’d be out of a job.” - Mosher’s Law of Software Engineering
User avatar
pickle
Briney Mod
Posts: 6445
Joined: Mon Jan 19, 2004 6:11 pm
Location: 53.01N x 112.48W
Contact:

Re: Display image from MySQL databse

Post by pickle »

If possible, do not store your images in a database. I know it sounds appealing because you can simply have all the data you need from one query, but it's a bad idea. The database was not intended to hold image data - that's what the filesystem is for. Just store a path to the file in the record, and let the web server deal with sending it to the browser.
Real programmers don't comment their code. If it was hard to write, it should be hard to understand.
Post Reply