Re: displaying image from MySQL DB using HTML/PHP

From: Date: Wed, 14 Mar 2007 02:07:48 +0000
Subject: Re: displaying image from MySQL DB using HTML/PHP
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-250510@lists.php.net to get a copy of this message
Bruce Gilbert wrote:
I am having some difficulty getting an image to display on a php that I have added to MySQL DB. Here is what I have tried so far.... in the MySQL DB I have a table called image_holder and the fields are id,mimename,filecontents...filecontents field is set to a type of blob using PHPMyAdmin and I have uploaded the image in MySQL. In the PHP code I have: [php] <?php $dbhost = 'hostaddress'; $dbuser = 'username'; $dbpass = 'password; $dbcnx = @mysql_connect($dbhost,$dbuser,$dbpass); if (!$dbcnx) { echo( "connection to database server failed!"); exit(); } if (! @mysql_select_db("image_holder") ) { echo( "Image Database Not Available!" ); exit(); } DON'T USE REQUEST
only use it from where you expect it to be, in this case, $_GET
$img = $_REQUEST["img"]; I see you calling a table called images not image_holder as stated previously.
$result = @mysql_query("SELECT * FROM images WHERE id=" . $img . ""); if (!$result) { echo("Error performing query: " . mysql_error() . ""); exit(); }
you don't need a while loop here, get rid of it.
while ( $row = @mysql_fetch_array($result) ) { $imgid = $row["id"]; $encodeddata = $row["mimetype"]; $title = $row['filecontents']; } here is the end, but I see no echoing headers or of the data????
you need to spit out headers for the given type of image and then echo the data and then exit. $result = @mysql_query("SELECT * FROM images WHERE id=" . $img . ""); if (!$result) { echo("Error performing query: " . mysql_error() . ""); exit(); } if ( ( $row = @mysql_fetch_array($result) ) === FALSE ) { header("Content-Type: {$row['mimetype']}"); echo $row['filecontents']; exit(); }
?> and in the HTML code <center><img src="image.php?img=1" width="200" border="1" alt=""></center> I am probably way off base, so need some help!


« previous php.general (#250510) next »